aboutsummaryrefslogtreecommitdiffstats
path: root/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide
diff options
context:
space:
mode:
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide')
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/common/layout/AbsoluteLayoutRuleTest.java8
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/common/layout/LayoutTestBase.java11
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/common/layout/TestNode.java8
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/descriptors/DescriptorsUtilsTest.java15
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/layout/gle2/CanvasViewInfoTest.java132
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/layout/gle2/DomUtilitiesTest.java119
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/layout/gle2/PointTestCases.java2
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/layout/gle2/SelectionManagerTest.java120
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/layout/gle2/SwtUtilsTest.java60
-rwxr-xr-xeclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/layout/gre/NodeFactoryTest.java6
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/layout/gre/ViewMetadataRepositoryTest.java28
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/manifest/model/UiElementNodeTest.java35
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/configurations/CountryCodeQualifierTest.java58
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/configurations/DockModeQualifierTest.java70
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/configurations/KeyboardStateQualifierTest.java63
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/configurations/LanguageQualifierTest.java56
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/configurations/NavigationMethodQualifierTest.java70
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/configurations/NetworkCodeQualifierTest.java58
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/configurations/PixelDensityQualifierTest.java120
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/configurations/RegionQualifierTest.java57
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/configurations/ScreenDimensionQualifierTest.java60
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/configurations/ScreenOrientationQualifierTest.java74
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/configurations/ScreenSizeQualifierTest.java71
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/configurations/TextInputMethodQualifierTest.java72
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/configurations/TouchScreenQualifierTest.java70
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/manager/ConfigMatchTest.java69
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/manager/QualifierListTest.java76
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/xml/HyperlinksTest.java40
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/resources/ResourceHelperTest.java178
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/resources/ResourceNameValidatorTest.java51
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/resources/manager/FolderTypeRelationShipTest.java43
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/wizards/newxmlfile/ResourceNameValidatorTest.java39
32 files changed, 732 insertions, 1207 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/common/layout/AbsoluteLayoutRuleTest.java b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/common/layout/AbsoluteLayoutRuleTest.java
index f4092eb..62725b8 100644
--- a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/common/layout/AbsoluteLayoutRuleTest.java
+++ b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/common/layout/AbsoluteLayoutRuleTest.java
@@ -60,8 +60,8 @@ public class AbsoluteLayoutRuleTest extends LayoutTestBase {
// Drop preview
"useStyle(DROP_PREVIEW), drawRect(Rect[30,-10,105,80])");
- assertEquals("30dip", inserted.getStringAttr(ANDROID_URI, "layout_x"));
- assertEquals("-10dip", inserted.getStringAttr(ANDROID_URI, "layout_y"));
+ assertEquals("30dp", inserted.getStringAttr(ANDROID_URI, "layout_x"));
+ assertEquals("-10dp", inserted.getStringAttr(ANDROID_URI, "layout_y"));
// Without drag bounds we should just draw guide lines instead
inserted = dragInto(new Rect(0, 0, 0, 0), new Point(30, -10), 4, -1,
@@ -70,8 +70,8 @@ public class AbsoluteLayoutRuleTest extends LayoutTestBase {
"useStyle(GUIDELINE), drawLine(30,0,30,480), drawLine(0,-10,240,-10)",
// Drop preview
"useStyle(DROP_PREVIEW), drawLine(30,-10,240,-10), drawLine(30,-10,30,480)");
- assertEquals("30dip", inserted.getStringAttr(ANDROID_URI, "layout_x"));
- assertEquals("-10dip", inserted.getStringAttr(ANDROID_URI, "layout_y"));
+ assertEquals("30dp", inserted.getStringAttr(ANDROID_URI, "layout_x"));
+ assertEquals("-10dp", inserted.getStringAttr(ANDROID_URI, "layout_y"));
}
}
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/common/layout/LayoutTestBase.java b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/common/layout/LayoutTestBase.java
index 5b79ac3..18d985e 100644
--- a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/common/layout/LayoutTestBase.java
+++ b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/common/layout/LayoutTestBase.java
@@ -39,7 +39,7 @@ import junit.framework.TestCase;
/**
* Common layout helpers from LayoutRule tests
*/
-public abstract class LayoutTestBase extends TestCase {
+public class LayoutTestBase extends TestCase {
/**
* Helper function used by tests to drag a button into a canvas containing
* the given children.
@@ -244,6 +244,15 @@ public abstract class LayoutTestBase extends TestCase {
fail("Not supported in tests yet");
return null;
}
+
+ public String displayIncludeSourceInput() {
+ fail("Not supported in tests yet");
+ return null;
+ }
+
+ public void select(Collection<INode> nodes) {
+ fail("Not supported in tests yet");
+ }
}
public void testDummy() {
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/common/layout/TestNode.java b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/common/layout/TestNode.java
index 14430a5..d5f1ae9 100644
--- a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/common/layout/TestNode.java
+++ b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/common/layout/TestNode.java
@@ -154,6 +154,13 @@ public class TestNode implements INode {
return child;
}
+ public void removeChild(INode node) {
+ int index = mChildren.indexOf(node);
+ if (index != -1) {
+ removeChild(index);
+ }
+ }
+
public boolean setAttribute(String uri, String localName, String value) {
mAttributes.put(uri + localName, new TestAttribute(uri, localName, value));
return true;
@@ -164,4 +171,5 @@ public class TestNode implements INode {
return "TestNode [fqn=" + mFqcn + ", infos=" + mAttributeInfos
+ ", attributes=" + mAttributes + ", bounds=" + mBounds + "]";
}
+
} \ No newline at end of file
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/descriptors/DescriptorsUtilsTest.java b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/descriptors/DescriptorsUtilsTest.java
index 5ccb494..580fbaa 100644
--- a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/descriptors/DescriptorsUtilsTest.java
+++ b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/descriptors/DescriptorsUtilsTest.java
@@ -65,6 +65,7 @@ public class DescriptorsUtilsTest extends TestCase {
assertEquals("Capital", DescriptorsUtils.capitalize("Capital"));
assertEquals("CamelCase", DescriptorsUtils.capitalize("camelCase"));
assertEquals("", DescriptorsUtils.capitalize(""));
+ assertSame("Foo", DescriptorsUtils.capitalize("Foo"));
}
public void testFormatTooltip() {
@@ -240,15 +241,9 @@ public class DescriptorsUtilsTest extends TestCase {
}
}
- public void testToXmlAttributeValue() throws Exception {
- assertEquals("", DescriptorsUtils.toXmlAttributeValue(""));
- assertEquals("foo", DescriptorsUtils.toXmlAttributeValue("foo"));
- assertEquals("foo<bar", DescriptorsUtils.toXmlAttributeValue("foo<bar"));
-
- assertEquals("&quot;", DescriptorsUtils.toXmlAttributeValue("\""));
- assertEquals("&apos;", DescriptorsUtils.toXmlAttributeValue("'"));
- assertEquals("foo&quot;b&apos;&apos;ar",
- DescriptorsUtils.toXmlAttributeValue("foo\"b''ar"));
+ public void testGetBasename() {
+ assertEquals("Foo", DescriptorsUtils.getBasename("Foo"));
+ assertEquals("Foo", DescriptorsUtils.getBasename("foo.Foo"));
+ assertEquals("String", DescriptorsUtils.getBasename("java.util.String"));
}
-
}
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/layout/gle2/CanvasViewInfoTest.java b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/layout/gle2/CanvasViewInfoTest.java
index a240f90..2df472e 100644
--- a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/layout/gle2/CanvasViewInfoTest.java
+++ b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/layout/gle2/CanvasViewInfoTest.java
@@ -17,6 +17,7 @@
package com.android.ide.eclipse.adt.internal.editors.layout.gle2;
import com.android.ide.common.rendering.api.Capability;
+import com.android.ide.common.rendering.api.DataBindingItem;
import com.android.ide.common.rendering.api.MergeCookie;
import com.android.ide.common.rendering.api.ViewInfo;
import com.android.ide.eclipse.adt.internal.editors.descriptors.AttributeDescriptor;
@@ -40,7 +41,7 @@ import junit.framework.TestCase;
public class CanvasViewInfoTest extends TestCase {
- private static ViewElementDescriptor createDesc(String name, String fqn, boolean hasChildren) {
+ public static ViewElementDescriptor createDesc(String name, String fqn, boolean hasChildren) {
if (hasChildren) {
return new ViewElementDescriptor(name, name, fqn, "", "", new AttributeDescriptor[0],
new AttributeDescriptor[0], new ElementDescriptor[1], false);
@@ -49,7 +50,7 @@ public class CanvasViewInfoTest extends TestCase {
}
}
- private static UiViewElementNode createNode(UiViewElementNode parent, String fqn,
+ public static UiViewElementNode createNode(UiViewElementNode parent, String fqn,
boolean hasChildren) {
String name = fqn.substring(fqn.lastIndexOf('.') + 1);
ViewElementDescriptor descriptor = createDesc(name, fqn, hasChildren);
@@ -60,11 +61,20 @@ public class CanvasViewInfoTest extends TestCase {
return (UiViewElementNode) parent.appendNewUiChild(descriptor);
}
- private static UiViewElementNode createNode(String fqn, boolean hasChildren) {
+ public static UiViewElementNode createNode(String fqn, boolean hasChildren) {
return createNode(null, fqn, hasChildren);
}
public void testNormalCreate() throws Exception {
+ normal(true);
+ }
+
+ public void testNormalCreateLayoutLib5() throws Exception {
+ normal(false);
+ }
+
+ private void normal(boolean layoutlib5) {
+
// Normal view hierarchy, no null keys anywhere
UiViewElementNode rootNode = createNode("android.widget.LinearLayout", true);
@@ -75,7 +85,7 @@ public class CanvasViewInfoTest extends TestCase {
ViewInfo child2 = new ViewInfo("Button", child2Node, 0, 20, 70, 25);
root.setChildren(Arrays.asList(child1, child2));
- CanvasViewInfo rootView = CanvasViewInfo.create(root).getFirst();
+ CanvasViewInfo rootView = CanvasViewInfo.create(root, layoutlib5).getFirst();
assertNotNull(rootView);
assertEquals("LinearLayout", rootView.getName());
assertEquals(new Rectangle(10, 10, 89, 89), rootView.getAbsRect());
@@ -100,6 +110,15 @@ public class CanvasViewInfoTest extends TestCase {
}
public void testShowIn() throws Exception {
+ showIn(false);
+ }
+
+ public void testShowInLayoutLib5() throws Exception {
+ showIn(true);
+ }
+
+ public void showIn(boolean layoutlib5) throws Exception {
+
// Test rendering of "Show Included In" (included content rendered
// within an outer content that has null keys)
@@ -112,7 +131,7 @@ public class CanvasViewInfoTest extends TestCase {
ViewInfo child21 = new ViewInfo("RadioButton", child21Node, 0, 20, 70, 25);
child2.setChildren(Arrays.asList(child21));
- CanvasViewInfo rootView = CanvasViewInfo.create(root).getFirst();
+ CanvasViewInfo rootView = CanvasViewInfo.create(root, layoutlib5).getFirst();
assertNotNull(rootView);
assertEquals("LinearLayout", rootView.getName());
assertEquals(new Rectangle(10, 10, 89, 89), rootView.getAbsRect());
@@ -137,6 +156,8 @@ public class CanvasViewInfoTest extends TestCase {
}
public void testIncludeTag() throws Exception {
+ boolean layoutlib5 = true;
+
// Test rendering of included views on layoutlib 5+ (e.g. has <include> tag)
UiViewElementNode rootNode = createNode("android.widget.LinearLayout", true);
@@ -149,7 +170,7 @@ public class CanvasViewInfoTest extends TestCase {
ViewInfo child21 = new ViewInfo("RadioButton", null, 0, 20, 70, 25);
child2.setChildren(Arrays.asList(child21));
- CanvasViewInfo rootView = CanvasViewInfo.create(root).getFirst();
+ CanvasViewInfo rootView = CanvasViewInfo.create(root, layoutlib5).getFirst();
assertNotNull(rootView);
assertEquals("LinearLayout", rootView.getName());
assertEquals(new Rectangle(10, 10, 89, 89), rootView.getAbsRect());
@@ -176,9 +197,10 @@ public class CanvasViewInfoTest extends TestCase {
}
public void testNoIncludeTag() throws Exception {
+ boolean layoutlib5 = false;
+
// Test rendering of included views on layoutlib 4- (e.g. no <include> tag cookie
- // in
- // view info)
+ // in view info)
UiViewElementNode rootNode = createNode("android.widget.LinearLayout", true);
ViewInfo root = new ViewInfo("LinearLayout", rootNode, 10, 10, 100, 100);
@@ -190,7 +212,7 @@ public class CanvasViewInfoTest extends TestCase {
ViewInfo child21 = new ViewInfo("RadioButton", null, 0, 20, 70, 25);
child2.setChildren(Arrays.asList(child21));
- CanvasViewInfo rootView = CanvasViewInfo.create(root).getFirst();
+ CanvasViewInfo rootView = CanvasViewInfo.create(root, layoutlib5).getFirst();
assertNotNull(rootView);
assertEquals("LinearLayout", rootView.getName());
assertEquals(new Rectangle(10, 10, 89, 89), rootView.getAbsRect());
@@ -217,6 +239,8 @@ public class CanvasViewInfoTest extends TestCase {
}
public void testMergeMatching() throws Exception {
+ boolean layoutlib5 = false;
+
// Test rendering of MULTIPLE included views or when there is no simple match
// between view info and ui element node children
@@ -232,7 +256,7 @@ public class CanvasViewInfoTest extends TestCase {
ViewInfo child21 = new ViewInfo("RadioButton", null, 0, 20, 70, 25);
child2.setChildren(Arrays.asList(child21));
- CanvasViewInfo rootView = CanvasViewInfo.create(root).getFirst();
+ CanvasViewInfo rootView = CanvasViewInfo.create(root, layoutlib5).getFirst();
assertNotNull(rootView);
assertEquals("LinearLayout", rootView.getName());
assertEquals(new Rectangle(10, 10, 89, 89), rootView.getAbsRect());
@@ -272,6 +296,8 @@ public class CanvasViewInfoTest extends TestCase {
}
public void testMerge() throws Exception {
+ boolean layoutlib5 = false;
+
// Test rendering of MULTIPLE included views or when there is no simple match
// between view info and ui element node children
@@ -286,7 +312,7 @@ public class CanvasViewInfoTest extends TestCase {
ViewInfo child21 = new ViewInfo("RadioButton", null, 0, 20, 70, 25);
child2.setChildren(Arrays.asList(child21));
- CanvasViewInfo rootView = CanvasViewInfo.create(root).getFirst();
+ CanvasViewInfo rootView = CanvasViewInfo.create(root, layoutlib5).getFirst();
assertNotNull(rootView);
assertEquals("LinearLayout", rootView.getName());
assertEquals(new Rectangle(10, 10, 89, 89), rootView.getAbsRect());
@@ -313,6 +339,8 @@ public class CanvasViewInfoTest extends TestCase {
}
public void testInsertMerge() throws Exception {
+ boolean layoutlib5 = false;
+
// Test rendering of MULTIPLE included views or when there is no simple match
// between view info and ui element node children
@@ -320,7 +348,7 @@ public class CanvasViewInfoTest extends TestCase {
UiViewElementNode rootNode = createNode(mergeNode, "android.widget.Button", false);
ViewInfo root = new ViewInfo("Button", rootNode, 10, 10, 100, 100);
- CanvasViewInfo rootView = CanvasViewInfo.create(root).getFirst();
+ CanvasViewInfo rootView = CanvasViewInfo.create(root, layoutlib5).getFirst();
assertNotNull(rootView);
assertEquals("merge", rootView.getName());
assertSame(rootView.getUiViewNode(), mergeNode);
@@ -340,6 +368,8 @@ public class CanvasViewInfoTest extends TestCase {
}
public void testUnmatchedMissing() throws Exception {
+ boolean layoutlib5 = false;
+
UiViewElementNode rootNode = createNode("android.widget.LinearLayout", true);
ViewInfo root = new ViewInfo("LinearLayout", rootNode, 0, 0, 100, 100);
List<ViewInfo> children = new ArrayList<ViewInfo>();
@@ -387,7 +417,7 @@ public class CanvasViewInfoTest extends TestCase {
}
root.setChildren(children);
- CanvasViewInfo rootView = CanvasViewInfo.create(root).getFirst();
+ CanvasViewInfo rootView = CanvasViewInfo.create(root, layoutlib5).getFirst();
assertNotNull(rootView);
// dump(root, 0);
@@ -412,6 +442,8 @@ public class CanvasViewInfoTest extends TestCase {
}
public void testMergeCookies() throws Exception {
+ boolean layoutlib5 = true;
+
UiViewElementNode rootNode = createNode("android.widget.LinearLayout", true);
ViewInfo root = new ViewInfo("LinearLayout", rootNode, 0, 0, 100, 100);
@@ -431,7 +463,7 @@ public class CanvasViewInfoTest extends TestCase {
}
root.setChildren(children);
- CanvasViewInfo rootView = CanvasViewInfo.create(root).getFirst();
+ CanvasViewInfo rootView = CanvasViewInfo.create(root, layoutlib5).getFirst();
assertNotNull(rootView);
assertEquals("LinearLayout", rootView.getName());
@@ -446,6 +478,8 @@ public class CanvasViewInfoTest extends TestCase {
}
public void testMergeCookies2() throws Exception {
+ boolean layoutlib5 = true;
+
UiViewElementNode rootNode = createNode("android.widget.LinearLayout", true);
ViewInfo root = new ViewInfo("LinearLayout", rootNode, 0, 0, 100, 100);
@@ -460,12 +494,13 @@ public class CanvasViewInfoTest extends TestCase {
ArrayList<ViewInfo> children = new ArrayList<ViewInfo>();
for (int i = 0; i < 10; i++) {
Object cookie = (i % 2) == 0 ? cookie1 : cookie2;
- ViewInfo childView = new ViewInfo("childView" + i, cookie, 0, i * 20, 50, (i + 1) * 20);
+ ViewInfo childView = new ViewInfo("childView" + i, cookie, 0, i * 20, 50,
+ (i + 1) * 20);
children.add(childView);
}
root.setChildren(children);
- Pair<CanvasViewInfo, List<Rectangle>> result = CanvasViewInfo.create(root);
+ Pair<CanvasViewInfo, List<Rectangle>> result = CanvasViewInfo.create(root, layoutlib5);
CanvasViewInfo rootView = result.getFirst();
List<Rectangle> bounds = result.getSecond();
assertNull(bounds);
@@ -495,6 +530,8 @@ public class CanvasViewInfoTest extends TestCase {
}
public void testIncludeBounds() throws Exception {
+ boolean layoutlib5 = true;
+
UiViewElementNode rootNode = createNode("android.widget.LinearLayout", true);
ViewInfo root = new ViewInfo("included", null, 0, 0, 100, 100);
@@ -509,12 +546,13 @@ public class CanvasViewInfoTest extends TestCase {
ArrayList<ViewInfo> children = new ArrayList<ViewInfo>();
for (int i = 0; i < 10; i++) {
Object cookie = (i % 2) == 0 ? cookie1 : cookie2;
- ViewInfo childView = new ViewInfo("childView" + i, cookie, 0, i * 20, 50, (i + 1) * 20);
+ ViewInfo childView = new ViewInfo("childView" + i, cookie, 0, i * 20, 50,
+ (i + 1) * 20);
children.add(childView);
}
root.setChildren(children);
- Pair<CanvasViewInfo, List<Rectangle>> result = CanvasViewInfo.create(root);
+ Pair<CanvasViewInfo, List<Rectangle>> result = CanvasViewInfo.create(root, layoutlib5);
CanvasViewInfo rootView = result.getFirst();
List<Rectangle> bounds = result.getSecond();
assertNotNull(rootView);
@@ -548,21 +586,27 @@ public class CanvasViewInfoTest extends TestCase {
}
public void testIncludeBounds2() throws Exception {
+ includeBounds2(false);
+ }
+
+ public void testIncludeBounds2LayoutLib5() throws Exception {
+ includeBounds2(true);
+ }
+
+ public void includeBounds2(boolean layoutlib5) throws Exception {
+
UiViewElementNode rootNode = createNode("android.widget.LinearLayout", true);
ViewInfo root = new ViewInfo("included", null, 0, 0, 100, 100);
UiViewElementNode node1 = createNode(rootNode, "childNode1", false);
UiViewElementNode node2 = createNode(rootNode, "childNode2", false);
- // Sets alternating merge cookies and checks whether the node sibling lists are
- // okay and merged correctly
-
ViewInfo childView1 = new ViewInfo("childView1", node1, 0, 20, 50, 40);
ViewInfo childView2 = new ViewInfo("childView2", node2, 0, 40, 50, 60);
root.setChildren(Arrays.asList(childView1, childView2));
- Pair<CanvasViewInfo, List<Rectangle>> result = CanvasViewInfo.create(root);
+ Pair<CanvasViewInfo, List<Rectangle>> result = CanvasViewInfo.create(root, layoutlib5);
CanvasViewInfo rootView = result.getFirst();
List<Rectangle> bounds = result.getSecond();
assertNotNull(rootView);
@@ -580,6 +624,8 @@ public class CanvasViewInfoTest extends TestCase {
}
public void testGestureOverlayView() throws Exception {
+ boolean layoutlib5 = true;
+
// Test rendering of included views on layoutlib 5+ (e.g. has <include> tag)
UiViewElementNode rootNode = createNode("android.gesture.GestureOverlayView", true);
@@ -590,7 +636,7 @@ public class CanvasViewInfoTest extends TestCase {
root.setChildren(Collections.singletonList(child));
ViewInfo grandChild = new ViewInfo("Button", grandChildNode, 0, 20, 70, 25);
child.setChildren(Collections.singletonList(grandChild));
- CanvasViewInfo rootView = CanvasViewInfo.create(root).getFirst();
+ CanvasViewInfo rootView = CanvasViewInfo.create(root, layoutlib5).getFirst();
assertNotNull(rootView);
assertEquals("GestureOverlayView", rootView.getName());
@@ -611,6 +657,46 @@ public class CanvasViewInfoTest extends TestCase {
assertFalse(grandChildView.isRoot());
}
+ public void testListView() throws Exception {
+ // For ListViews we get AdapterItemReferences as cookies. Ensure that this
+ // works properly.
+ //
+ // android.widget.FrameLayout [0,50,320,480] <FrameLayout>
+ // android.widget.ListView [0,0,320,430] <ListView>
+ // android.widget.LinearLayout [0,0,320,17] SessionParams$AdapterItemReference
+ // android.widget.TextView [0,0,73,17]
+ // android.widget.LinearLayout [0,18,320,35] SessionParams$AdapterItemReference
+ // android.widget.TextView [0,0,73,17]
+ // android.widget.LinearLayout [0,36,320,53] SessionParams$AdapterItemReference
+ // android.widget.TextView [0,0,73,17]
+ // ...
+
+ UiViewElementNode rootNode = createNode("FrameLayout", true);
+ UiViewElementNode childNode = createNode(rootNode, "ListView", false);
+ /*UiViewElementNode grandChildNode =*/ createNode(childNode, "LinearLayout", false);
+ /*UiViewElementNode greatGrandChildNode =*/ createNode(childNode, "TextView", false);
+ DataBindingItem dataBindingItem = new DataBindingItem("foo");
+
+ ViewInfo root = new ViewInfo("FrameLayout", rootNode, 0, 50, 320, 480);
+ ViewInfo child = new ViewInfo("ListView", childNode, 0, 0, 320, 430);
+ root.setChildren(Collections.singletonList(child));
+ ViewInfo grandChild = new ViewInfo("LinearLayout", dataBindingItem, 0, 0, 320, 17);
+ child.setChildren(Collections.singletonList(grandChild));
+ ViewInfo greatGrandChild = new ViewInfo("Button", null, 0, 0, 73, 17);
+ grandChild.setChildren(Collections.singletonList(greatGrandChild));
+ CanvasViewInfo rootView = CanvasViewInfo.create(root, true /*layoutlib5*/).getFirst();
+ assertNotNull(rootView);
+
+ assertEquals("FrameLayout", rootView.getName());
+ assertEquals(1, rootView.getChildren().size());
+ assertSame(rootNode, rootView.getUiViewNode());
+
+ CanvasViewInfo childView = rootView.getChildren().get(0);
+ assertEquals("ListView", childView.getName());
+ assertEquals(0, childView.getChildren().size());
+ assertSame(childNode, childView.getUiViewNode());
+ }
+
/**
* Dumps out the given {@link ViewInfo} hierarchy to standard out.
* Useful during development.
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/layout/gle2/DomUtilitiesTest.java b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/layout/gle2/DomUtilitiesTest.java
new file mode 100644
index 0000000..049e1cc
--- /dev/null
+++ b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/layout/gle2/DomUtilitiesTest.java
@@ -0,0 +1,119 @@
+/*
+ * Copyright (C) 2011 The Android Open Source Project
+ *
+ * Licensed under the Eclipse Public License, Version 1.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.eclipse.org/org/documents/epl-v10.php
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.ide.eclipse.adt.internal.editors.layout.gle2;
+
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+
+import java.util.Arrays;
+
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+
+import junit.framework.TestCase;
+
+public class DomUtilitiesTest extends TestCase {
+
+ public void testToXmlAttributeValue() throws Exception {
+ assertEquals("", DomUtilities.toXmlAttributeValue(""));
+ assertEquals("foo", DomUtilities.toXmlAttributeValue("foo"));
+ assertEquals("foo<bar", DomUtilities.toXmlAttributeValue("foo<bar"));
+
+ assertEquals("&quot;", DomUtilities.toXmlAttributeValue("\""));
+ assertEquals("&apos;", DomUtilities.toXmlAttributeValue("'"));
+ assertEquals("foo&quot;b&apos;&apos;ar",
+ DomUtilities.toXmlAttributeValue("foo\"b''ar"));
+ }
+
+ public void testIsEquivalent() throws Exception {
+ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+ factory.setNamespaceAware(true);
+ factory.setValidating(false);
+ DocumentBuilder builder = factory.newDocumentBuilder();
+ Document document1 = builder.newDocument();
+ Document document2 = builder.newDocument();
+ document1.appendChild(document1.createElement("root"));
+ document2.appendChild(document2.createElement("root"));
+
+ assertFalse(DomUtilities.isEquivalent(null, null));
+ Element root1 = document1.getDocumentElement();
+ assertFalse(DomUtilities.isEquivalent(null, root1));
+ Element root2 = document2.getDocumentElement();
+ assertFalse(DomUtilities.isEquivalent(root2, null));
+ assertTrue(DomUtilities.isEquivalent(root1, root2));
+
+ root1.appendChild(document1.createTextNode(" "));
+ // Differences in text are NOT significant!
+ assertTrue(DomUtilities.isEquivalent(root1, root2));
+ root2.appendChild(document2.createTextNode(" "));
+ assertTrue(DomUtilities.isEquivalent(root1, root2));
+
+ Element foo1 = document1.createElement("foo");
+ Element foo2 = document2.createElement("foo");
+ root1.appendChild(foo1);
+ assertFalse(DomUtilities.isEquivalent(root1, root2));
+ root2.appendChild(foo2);
+ assertTrue(DomUtilities.isEquivalent(root1, root2));
+
+ root1.appendChild(document1.createElement("bar"));
+ assertFalse(DomUtilities.isEquivalent(root1, root2));
+ root2.appendChild(document2.createElement("bar"));
+ assertTrue(DomUtilities.isEquivalent(root1, root2));
+
+ // Add attributes in opposite order
+ foo1.setAttribute("attribute1", "value1");
+ foo1.setAttribute("attribute2", "value2");
+ assertFalse(DomUtilities.isEquivalent(root1, root2));
+ foo2.setAttribute("attribute2", "value2");
+ foo2.setAttribute("attribute1", "valueWrong");
+ assertFalse(DomUtilities.isEquivalent(root1, root2));
+ foo2.setAttribute("attribute1", "value1");
+ assertTrue(DomUtilities.isEquivalent(root1, root2));
+
+ // TODO - test different tag names
+ // TODO - test different name spaces!
+ }
+
+ public void testIsContiguous() throws Exception {
+ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+ factory.setNamespaceAware(true);
+ factory.setValidating(false);
+ DocumentBuilder builder = factory.newDocumentBuilder();
+ Document document = builder.newDocument();
+ document.appendChild(document.createElement("root"));
+ Element root = document.getDocumentElement();
+ root.appendChild(document.createTextNode(" "));
+ Element foo = document.createElement("foo");
+ root.appendChild(foo);
+ root.appendChild(document.createTextNode(" "));
+ Element bar = document.createElement("bar");
+ root.appendChild(bar);
+ Element baz = document.createElement("baz");
+ root.appendChild(baz);
+
+ assertTrue(DomUtilities.isContiguous(Arrays.asList(foo)));
+ assertTrue(DomUtilities.isContiguous(Arrays.asList(foo, bar)));
+ assertTrue(DomUtilities.isContiguous(Arrays.asList(foo, bar, baz)));
+ assertTrue(DomUtilities.isContiguous(Arrays.asList(foo, bar, baz)));
+ assertTrue(DomUtilities.isContiguous(Arrays.asList(bar, baz, foo)));
+ assertTrue(DomUtilities.isContiguous(Arrays.asList(baz, bar, foo)));
+ assertTrue(DomUtilities.isContiguous(Arrays.asList(baz, foo, bar)));
+
+ assertFalse(DomUtilities.isContiguous(Arrays.asList(foo, baz)));
+ assertFalse(DomUtilities.isContiguous(Arrays.asList(root, baz)));
+ }
+
+}
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/layout/gle2/PointTestCases.java b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/layout/gle2/PointTestCases.java
index 5e86d69..91d0e13 100644
--- a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/layout/gle2/PointTestCases.java
+++ b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/layout/gle2/PointTestCases.java
@@ -29,7 +29,7 @@ import junit.framework.TestCase;
* Common utilities for the point tests {@link LayoutPointTest} and
* {@link ControlPointTest}
*/
-public abstract class PointTestCases extends TestCase {
+public class PointTestCases extends TestCase {
LayoutCanvas mCanvas = new TestLayoutCanvas();
protected MouseEvent canvasMouseEvent(int x, int y, int stateMask) {
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/layout/gle2/SelectionManagerTest.java b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/layout/gle2/SelectionManagerTest.java
new file mode 100644
index 0000000..b29f9f3
--- /dev/null
+++ b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/layout/gle2/SelectionManagerTest.java
@@ -0,0 +1,120 @@
+/*
+ * Copyright (C) 2011 The Android Open Source Project
+ *
+ * Licensed under the Eclipse Public License, Version 1.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.eclipse.org/org/documents/epl-v10.php
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.ide.eclipse.adt.internal.editors.layout.gle2;
+
+import com.android.ide.common.rendering.api.ViewInfo;
+import com.android.ide.eclipse.adt.internal.editors.layout.uimodel.UiViewElementNode;
+
+import org.eclipse.swt.widgets.Shell;
+
+import java.util.Arrays;
+
+import junit.framework.TestCase;
+
+public class SelectionManagerTest extends TestCase {
+ private SelectionManager createManager() {
+ LayoutCanvas canvas = new LayoutCanvas(null, null, new Shell(), 0);
+ return new SelectionManager(canvas);
+ }
+
+ public void testEmpty() {
+ SelectionManager manager = createManager();
+
+ assertNotNull(manager.getSelections());
+ assertEquals(0, manager.getSelections().size());
+ assertFalse(manager.hasMultiSelection());
+ assertTrue(manager.isEmpty());
+ }
+
+ public void testBasic() {
+ SelectionManager manager = createManager();
+ assertTrue(manager.isEmpty());
+
+ UiViewElementNode rootNode = CanvasViewInfoTest.createNode("android.widget.LinearLayout",
+ true);
+ ViewInfo root = new ViewInfo("LinearLayout", rootNode, 10, 10, 100, 100);
+ UiViewElementNode child1Node = CanvasViewInfoTest.createNode(rootNode,
+ "android.widget.Button", false);
+ ViewInfo child1 = new ViewInfo("Button1", child1Node, 0, 0, 50, 20);
+ UiViewElementNode child2Node = CanvasViewInfoTest.createNode(rootNode,
+ "android.widget.Button", false);
+ ViewInfo child2 = new ViewInfo("Button2", child2Node, 0, 20, 70, 25);
+ root.setChildren(Arrays.asList(child1, child2));
+ CanvasViewInfo rootView = CanvasViewInfo.create(root, true /* layoutlib5 */).getFirst();
+ assertNotNull(rootView);
+
+ manager.selectMultiple(Arrays.asList(rootView, rootView.getChildren().get(0), rootView
+ .getChildren().get(1)));
+ assertEquals(3, manager.getSelections().size());
+ assertFalse(manager.isEmpty());
+ assertTrue(manager.hasMultiSelection());
+
+ // Expect read-only result; ensure that's the case
+ try {
+ manager.getSelections().remove(0);
+ fail("Result should be read only collection");
+ } catch (Exception e) {
+ ; //ok, what we expected
+ }
+
+ manager.selectNone();
+ assertEquals(0, manager.getSelections().size());
+ assertTrue(manager.isEmpty());
+
+ manager.selectSingle(rootView);
+ assertEquals(1, manager.getSelections().size());
+ assertFalse(manager.isEmpty());
+ assertSame(rootView, manager.getSelections().get(0).getViewInfo());
+
+ manager.selectMultiple(Arrays.asList(rootView, rootView.getChildren().get(0), rootView
+ .getChildren().get(1)));
+ assertEquals(3, manager.getSelections().size());
+
+ manager.deselect(rootView.getChildren().get(0));
+ assertEquals(2, manager.getSelections().size());
+ manager.deselect(rootView);
+ assertEquals(1, manager.getSelections().size());
+ assertSame(rootView.getChildren().get(1), manager.getSelections().get(0).getViewInfo());
+ }
+
+ public void testSelectParent() {
+ SelectionManager manager = createManager();
+ assertTrue(manager.isEmpty());
+
+ UiViewElementNode rootNode = CanvasViewInfoTest.createNode("android.widget.LinearLayout",
+ true);
+ ViewInfo root = new ViewInfo("LinearLayout", rootNode, 10, 10, 100, 100);
+ UiViewElementNode child1Node = CanvasViewInfoTest.createNode(rootNode,
+ "android.widget.Button", false);
+ ViewInfo child1 = new ViewInfo("Button1", child1Node, 0, 0, 50, 20);
+ UiViewElementNode child2Node = CanvasViewInfoTest.createNode(rootNode,
+ "android.widget.Button", false);
+ ViewInfo child2 = new ViewInfo("Button2", child2Node, 0, 20, 70, 25);
+ root.setChildren(Arrays.asList(child1, child2));
+ CanvasViewInfo rootView = CanvasViewInfo.create(root, true /* layoutlib5 */).getFirst();
+ assertNotNull(rootView);
+
+ manager.selectMultiple(Arrays.asList(rootView.getChildren().get(0)));
+ assertEquals(1, manager.getSelections().size());
+ assertFalse(manager.isEmpty());
+ assertSame(rootView.getChildren().get(0), manager.getSelections().get(0).getViewInfo());
+
+ manager.selectParent();
+ assertEquals(1, manager.getSelections().size());
+ assertFalse(manager.isEmpty());
+ assertSame(rootView, manager.getSelections().get(0).getViewInfo());
+ }
+}
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/layout/gle2/SwtUtilsTest.java b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/layout/gle2/SwtUtilsTest.java
index 5561e52..de7999c 100644
--- a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/layout/gle2/SwtUtilsTest.java
+++ b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/layout/gle2/SwtUtilsTest.java
@@ -240,18 +240,27 @@ public class SwtUtilsTest extends TestCase {
scale, alpha);
assertNotNull(result);
- ImageData data = result.getImageData();
- byte[] alphaData = data.alphaData;
- assertNotNull(alphaData);
- assertEquals(20, data.width);
- assertEquals(20, data.height);
+ ImageData outData = result.getImageData();
+ assertEquals(20, outData.width);
+ assertEquals(20, outData.height);
+
+ PaletteData outPalette = outData.palette;
+ assertNotNull(outPalette);
+
+ byte[] outAlphaData = outData.alphaData;
+ assertNotNull(outAlphaData);
+
for (int y = 0; y < 20; y++) {
for (int x = 0; x < 20; x++) {
int r = y + 60;
int g = x + 30;
- int expected = r << 16 | g << 8;
- assertEquals(expected, data.getPixel(x, y));
- assertEquals(alpha, alphaData[y*20+x]);
+
+ RGB expected = new RGB(r, g, 0);
+ RGB actual = outPalette.getRGB(outData.getPixel(x, y));
+ assertEquals(expected, actual);
+
+ byte actualAlpha = outAlphaData[y*20+x];
+ assertEquals(alpha, actualAlpha);
}
}
}
@@ -270,30 +279,41 @@ public class SwtUtilsTest extends TestCase {
scale, alpha);
assertNotNull(result);
- ImageData data = result.getImageData();
- byte[] alphaData = data.alphaData;
- assertNotNull(alphaData);
- assertEquals(120, data.width);
- assertEquals(90, data.height);
+ ImageData outData = result.getImageData();
+ assertEquals(120, outData.width);
+ assertEquals(90, outData.height);
+
+ PaletteData outPalette = outData.palette;
+ assertNotNull(outPalette);
+
+ byte[] outAlphaData = outData.alphaData;
+ assertNotNull(outAlphaData);
+
for (int y = 0; y < 20; y++) {
for (int x = 0; x < 20; x++) {
int r = y + 10;
int g = x + 10;
- int expected = r << 16 | g << 8;
- assertEquals(expected, data.getPixel(x, y));
- assertEquals(alpha, alphaData[y*120+x]);
+
+ RGB expected = new RGB(r, g, 0);
+ RGB actual = outPalette.getRGB(outData.getPixel(x, y));
+ assertEquals(expected, actual);
+
+ assertEquals(alpha, outAlphaData[y*120+x]);
}
}
for (int y = 70; y < 90; y++) {
for (int x = 100; x < 120; x++) {
int r = y + 10;
int g = x + 10;
- int expected = r << 16 | g << 8;
- assertEquals(expected, data.getPixel(x, y));
- assertEquals(alpha, alphaData[y*120+x]);
+
+ RGB expected = new RGB(r, g, 0);
+ RGB actual = outPalette.getRGB(outData.getPixel(x, y));
+ assertEquals(expected, actual);
+
+ assertEquals(alpha, outAlphaData[y*120+x]);
}
}
- assertEquals(0, alphaData[40]);
+ assertEquals(0, outAlphaData[40]);
}
/**
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/layout/gre/NodeFactoryTest.java b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/layout/gre/NodeFactoryTest.java
index 277089f..9f670cc 100755
--- a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/layout/gre/NodeFactoryTest.java
+++ b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/layout/gre/NodeFactoryTest.java
@@ -48,7 +48,7 @@ public class NodeFactoryTest extends TestCase {
ViewElementDescriptor ved = new ViewElementDescriptor("xml", "com.example.MyJavaClass");
UiViewElementNode uiv = new UiViewElementNode(ved);
ViewInfo lvi = new ViewInfo("name", uiv, 10, 12, 110, 120);
- CanvasViewInfo cvi = CanvasViewInfo.create(lvi).getFirst();
+ CanvasViewInfo cvi = CanvasViewInfo.create(lvi, true /* layoutlib5 */).getFirst();
// Create a NodeProxy.
NodeProxy proxy = m.create(cvi);
@@ -95,7 +95,7 @@ public class NodeFactoryTest extends TestCase {
ViewElementDescriptor ved = new ViewElementDescriptor("xml", "com.example.MyJavaClass");
UiViewElementNode uiv = new UiViewElementNode(ved);
ViewInfo lvi = new ViewInfo("name", uiv, 10, 12, 110, 120);
- CanvasViewInfo cvi = CanvasViewInfo.create(lvi).getFirst();
+ CanvasViewInfo cvi = CanvasViewInfo.create(lvi, true /* layoutlib5 */).getFirst();
// NodeProxies are cached. Creating the same one twice returns the same proxy.
NodeProxy proxy1 = m.create(cvi);
@@ -107,7 +107,7 @@ public class NodeFactoryTest extends TestCase {
ViewElementDescriptor ved = new ViewElementDescriptor("xml", "com.example.MyJavaClass");
UiViewElementNode uiv = new UiViewElementNode(ved);
ViewInfo lvi = new ViewInfo("name", uiv, 10, 12, 110, 120);
- CanvasViewInfo cvi = CanvasViewInfo.create(lvi).getFirst();
+ CanvasViewInfo cvi = CanvasViewInfo.create(lvi, true /* layoutlib5 */).getFirst();
// NodeProxies are cached. Creating the same one twice returns the same proxy.
NodeProxy proxy1 = m.create(cvi);
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/layout/gre/ViewMetadataRepositoryTest.java b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/layout/gre/ViewMetadataRepositoryTest.java
index d18967d..5921e85 100644
--- a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/layout/gre/ViewMetadataRepositoryTest.java
+++ b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/layout/gre/ViewMetadataRepositoryTest.java
@@ -16,6 +16,7 @@
package com.android.ide.eclipse.adt.internal.editors.layout.gre;
import com.android.ide.common.api.IViewMetadata.FillPreference;
+import com.android.ide.eclipse.adt.internal.editors.layout.gre.ViewMetadataRepository.RenderMode;
import junit.framework.TestCase;
@@ -32,4 +33,31 @@ public class ViewMetadataRepositoryTest extends TestCase {
assertEquals(FillPreference.NONE,
repository.getFillPreference("foo.bar"));
}
+
+ // Ensure that all basenames referenced in the metadata refer to other views in the file
+ // (e.g. no typos)
+ public void testRelatedTo() throws Exception {
+ // Make sure unit tests are run with assertions on
+ boolean assertionsEnabled = false;
+ assert assertionsEnabled = true; // Intentional assignment
+ assertTrue("This unit test must be run with assertions enabled (-ea)", assertionsEnabled);
+
+ ViewMetadataRepository repository = ViewMetadataRepository.get();
+ for (String fqcn : repository.getAllFqcns()) {
+ repository.getRelatedTo(fqcn);
+ }
+ }
+
+ public void testSkip() throws Exception {
+ ViewMetadataRepository repository = ViewMetadataRepository.get();
+ assertTrue(repository.getSkip("merge"));
+ assertFalse(repository.getSkip("android.widget.Button"));
+ }
+
+ public void testRenderMode() throws Exception {
+ ViewMetadataRepository repository = ViewMetadataRepository.get();
+ assertEquals(RenderMode.NORMAL, repository.getRenderMode("android.widget.Button"));
+ assertEquals(RenderMode.SKIP, repository.getRenderMode("android.widget.LinearLayout"));
+ assertEquals(RenderMode.ALONE, repository.getRenderMode("android.widget.TabHost"));
+ }
}
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/manifest/model/UiElementNodeTest.java b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/manifest/model/UiElementNodeTest.java
index 30f709c..ccf4e83 100644
--- a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/manifest/model/UiElementNodeTest.java
+++ b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/manifest/model/UiElementNodeTest.java
@@ -16,15 +16,24 @@
package com.android.ide.eclipse.adt.internal.editors.manifest.model;
+import static com.android.ide.common.layout.LayoutConstants.ANDROID_URI;
+
import com.android.ide.eclipse.adt.internal.editors.descriptors.ElementDescriptor;
+import com.android.ide.eclipse.adt.internal.editors.descriptors.XmlnsAttributeDescriptor;
import com.android.ide.eclipse.adt.internal.editors.descriptors.ElementDescriptor.Mandatory;
import com.android.ide.eclipse.adt.internal.editors.mock.MockXmlNode;
import com.android.ide.eclipse.adt.internal.editors.uimodel.UiElementNode;
+import org.w3c.dom.Attr;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
import org.w3c.dom.Node;
import java.util.Iterator;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+
import junit.framework.TestCase;
public class UiElementNodeTest extends TestCase {
@@ -252,4 +261,30 @@ public class UiElementNodeTest extends TestCase {
}
+ public void testlookupNamespacePrefix() throws Exception {
+ // Setup
+ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+ factory.setNamespaceAware(true);
+ factory.setValidating(false);
+ DocumentBuilder builder = factory.newDocumentBuilder();
+ Document document = builder.newDocument();
+ Element rootElement = document.createElement("root");
+ Attr attr = document.createAttributeNS(XmlnsAttributeDescriptor.XMLNS_URI,
+ "xmlns:customPrefix");
+ attr.setValue(ANDROID_URI);
+ rootElement.getAttributes().setNamedItemNS(attr);
+ document.appendChild(rootElement);
+ Element root = document.getDocumentElement();
+ root.appendChild(document.createTextNode(" "));
+ Element foo = document.createElement("foo");
+ root.appendChild(foo);
+ root.appendChild(document.createTextNode(" "));
+ Element bar = document.createElement("bar");
+ root.appendChild(bar);
+ Element baz = document.createElement("baz");
+ root.appendChild(baz);
+
+ String prefix = UiElementNode.lookupNamespacePrefix(baz, ANDROID_URI);
+ assertEquals("customPrefix", prefix);
+ }
}
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/configurations/CountryCodeQualifierTest.java b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/configurations/CountryCodeQualifierTest.java
deleted file mode 100644
index e0fe013..0000000
--- a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/configurations/CountryCodeQualifierTest.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Eclipse Public License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.eclipse.org/org/documents/epl-v10.php
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.ide.eclipse.adt.internal.editors.resources.configurations;
-
-import com.android.ide.eclipse.adt.internal.resources.configurations.CountryCodeQualifier;
-import com.android.ide.eclipse.adt.internal.resources.configurations.FolderConfiguration;
-
-import junit.framework.TestCase;
-
-public class CountryCodeQualifierTest extends TestCase {
-
- private CountryCodeQualifier mccq;
- private FolderConfiguration config;
-
- @Override
- protected void setUp() throws Exception {
- super.setUp();
- mccq = new CountryCodeQualifier();
- config = new FolderConfiguration();
- }
-
- @Override
- protected void tearDown() throws Exception {
- super.tearDown();
- mccq = null;
- config = null;
- }
-
- public void testCheckAndSet() {
- assertEquals(true, mccq.checkAndSet("mcc123", config));//$NON-NLS-1$
- assertTrue(config.getCountryCodeQualifier() != null);
- assertEquals(123, config.getCountryCodeQualifier().getCode());
- assertEquals("mcc123", config.getCountryCodeQualifier().toString()); //$NON-NLS-1$
- }
-
- public void testFailures() {
- assertEquals(false, mccq.checkAndSet("", config));//$NON-NLS-1$
- assertEquals(false, mccq.checkAndSet("mcc", config));//$NON-NLS-1$
- assertEquals(false, mccq.checkAndSet("MCC123", config));//$NON-NLS-1$
- assertEquals(false, mccq.checkAndSet("123", config));//$NON-NLS-1$
- assertEquals(false, mccq.checkAndSet("mccsdf", config));//$NON-NLS-1$
- }
-
-}
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/configurations/DockModeQualifierTest.java b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/configurations/DockModeQualifierTest.java
deleted file mode 100644
index de05f7e..0000000
--- a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/configurations/DockModeQualifierTest.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Eclipse Public License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.eclipse.org/org/documents/epl-v10.php
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.ide.eclipse.adt.internal.editors.resources.configurations;
-
-import com.android.ide.eclipse.adt.internal.resources.configurations.DockModeQualifier;
-import com.android.resources.DockMode;
-
-import junit.framework.TestCase;
-
-public class DockModeQualifierTest extends TestCase {
-
- private DockModeQualifier mCarQualifier;
- private DockModeQualifier mDeskQualifier;
- private DockModeQualifier mNoneQualifier;
-
- @Override
- protected void setUp() throws Exception {
- super.setUp();
- mCarQualifier = new DockModeQualifier(DockMode.CAR);
- mDeskQualifier = new DockModeQualifier(DockMode.DESK);
- mNoneQualifier = new DockModeQualifier(DockMode.NONE);
- }
-
- @Override
- protected void tearDown() throws Exception {
- super.tearDown();
- mCarQualifier = null;
- mDeskQualifier = null;
- mNoneQualifier = null;
- }
-
- public void testIsBetterMatchThan() {
- assertTrue(mNoneQualifier.isBetterMatchThan(mCarQualifier, mDeskQualifier));
- assertFalse(mNoneQualifier.isBetterMatchThan(mDeskQualifier, mDeskQualifier));
- assertTrue(mNoneQualifier.isBetterMatchThan(mDeskQualifier, mCarQualifier));
- assertFalse(mNoneQualifier.isBetterMatchThan(mCarQualifier, mCarQualifier));
-
- assertTrue(mDeskQualifier.isBetterMatchThan(mCarQualifier, mDeskQualifier));
- assertFalse(mDeskQualifier.isBetterMatchThan(mCarQualifier, mCarQualifier));
-
- assertTrue(mCarQualifier.isBetterMatchThan(mDeskQualifier, mCarQualifier));
- assertFalse(mCarQualifier.isBetterMatchThan(mDeskQualifier, mDeskQualifier));
- }
-
- public void testIsMatchFor() {
- assertTrue(mNoneQualifier.isMatchFor(mCarQualifier));
- assertTrue(mNoneQualifier.isMatchFor(mDeskQualifier));
- assertTrue(mCarQualifier.isMatchFor(mCarQualifier));
- assertTrue(mDeskQualifier.isMatchFor(mDeskQualifier));
-
- assertFalse(mCarQualifier.isMatchFor(mNoneQualifier));
- assertFalse(mCarQualifier.isMatchFor(mDeskQualifier));
- assertFalse(mDeskQualifier.isMatchFor(mCarQualifier));
- assertFalse(mDeskQualifier.isMatchFor(mNoneQualifier));
- }
-}
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/configurations/KeyboardStateQualifierTest.java b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/configurations/KeyboardStateQualifierTest.java
deleted file mode 100644
index b97d1f8..0000000
--- a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/configurations/KeyboardStateQualifierTest.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Eclipse Public License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.eclipse.org/org/documents/epl-v10.php
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.ide.eclipse.adt.internal.editors.resources.configurations;
-
-import com.android.ide.eclipse.adt.internal.resources.configurations.FolderConfiguration;
-import com.android.ide.eclipse.adt.internal.resources.configurations.KeyboardStateQualifier;
-import com.android.resources.KeyboardState;
-
-import junit.framework.TestCase;
-
-public class KeyboardStateQualifierTest extends TestCase {
-
- private KeyboardStateQualifier ksq;
- private FolderConfiguration config;
-
- @Override
- protected void setUp() throws Exception {
- super.setUp();
- ksq = new KeyboardStateQualifier();
- config = new FolderConfiguration();
- }
-
- @Override
- protected void tearDown() throws Exception {
- super.tearDown();
- ksq = null;
- config = null;
- }
-
- public void testExposed() {
- assertEquals(true, ksq.checkAndSet("keysexposed", config)); //$NON-NLS-1$
- assertTrue(config.getKeyboardStateQualifier() != null);
- assertEquals(KeyboardState.EXPOSED, config.getKeyboardStateQualifier().getValue());
- assertEquals("keysexposed", config.getKeyboardStateQualifier().toString()); //$NON-NLS-1$
- }
-
- public void testHidden() {
- assertEquals(true, ksq.checkAndSet("keyshidden", config)); //$NON-NLS-1$
- assertTrue(config.getKeyboardStateQualifier() != null);
- assertEquals(KeyboardState.HIDDEN, config.getKeyboardStateQualifier().getValue());
- assertEquals("keyshidden", config.getKeyboardStateQualifier().toString()); //$NON-NLS-1$
- }
-
- public void testFailures() {
- assertEquals(false, ksq.checkAndSet("", config));//$NON-NLS-1$
- assertEquals(false, ksq.checkAndSet("KEYSEXPOSED", config));//$NON-NLS-1$
- assertEquals(false, ksq.checkAndSet("other", config));//$NON-NLS-1$
- }
-}
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/configurations/LanguageQualifierTest.java b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/configurations/LanguageQualifierTest.java
deleted file mode 100644
index e4a9312..0000000
--- a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/configurations/LanguageQualifierTest.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright (C) 2007 The Android Open Source Project
- *
- * Licensed under the Eclipse Public License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.eclipse.org/org/documents/epl-v10.php
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.ide.eclipse.adt.internal.editors.resources.configurations;
-
-import com.android.ide.eclipse.adt.internal.resources.configurations.FolderConfiguration;
-import com.android.ide.eclipse.adt.internal.resources.configurations.LanguageQualifier;
-
-import junit.framework.TestCase;
-
-public class LanguageQualifierTest extends TestCase {
-
- private FolderConfiguration config;
- private LanguageQualifier lq;
-
- @Override
- public void setUp() throws Exception {
- super.setUp();
- config = new FolderConfiguration();
- lq = new LanguageQualifier();
- }
-
- @Override
- protected void tearDown() throws Exception {
- super.tearDown();
- config = null;
- lq = null;
- }
-
- public void testCheckAndSet() {
- assertEquals(true, lq.checkAndSet("en", config)); //$NON-NLS-1$
- assertTrue(config.getLanguageQualifier() != null);
- assertEquals("en", config.getLanguageQualifier().toString()); //$NON-NLS-1$
-
- }
-
- public void testFailures() {
- assertEquals(false, lq.checkAndSet("", config)); //$NON-NLS-1$
- assertEquals(false, lq.checkAndSet("EN", config)); //$NON-NLS-1$
- assertEquals(false, lq.checkAndSet("abc", config)); //$NON-NLS-1$
- }
-}
-
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/configurations/NavigationMethodQualifierTest.java b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/configurations/NavigationMethodQualifierTest.java
deleted file mode 100644
index ebc34ad..0000000
--- a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/configurations/NavigationMethodQualifierTest.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright (C) 2007 The Android Open Source Project
- *
- * Licensed under the Eclipse Public License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.eclipse.org/org/documents/epl-v10.php
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.ide.eclipse.adt.internal.editors.resources.configurations;
-
-import com.android.ide.eclipse.adt.internal.resources.configurations.FolderConfiguration;
-import com.android.ide.eclipse.adt.internal.resources.configurations.NavigationMethodQualifier;
-import com.android.resources.Navigation;
-
-import junit.framework.TestCase;
-
-public class NavigationMethodQualifierTest extends TestCase {
-
- private FolderConfiguration config;
- private NavigationMethodQualifier nmq;
-
- @Override
- public void setUp() throws Exception {
- super.setUp();
- config = new FolderConfiguration();
- nmq = new NavigationMethodQualifier();
- }
-
- @Override
- protected void tearDown() throws Exception {
- super.tearDown();
- config = null;
- nmq = null;
- }
-
- public void testDPad() {
- assertEquals(true, nmq.checkAndSet("dpad", config)); //$NON-NLS-1$
- assertTrue(config.getNavigationMethodQualifier() != null);
- assertEquals(Navigation.DPAD, config.getNavigationMethodQualifier().getValue());
- assertEquals("dpad", config.getNavigationMethodQualifier().toString()); //$NON-NLS-1$
- }
-
- public void testTrackball() {
- assertEquals(true, nmq.checkAndSet("trackball", config)); //$NON-NLS-1$
- assertTrue(config.getNavigationMethodQualifier() != null);
- assertEquals(Navigation.TRACKBALL, config.getNavigationMethodQualifier().getValue());
- assertEquals("trackball", config.getNavigationMethodQualifier().toString()); //$NON-NLS-1$
- }
-
- public void testWheel() {
- assertEquals(true, nmq.checkAndSet("wheel", config)); //$NON-NLS-1$
- assertTrue(config.getNavigationMethodQualifier() != null);
- assertEquals(Navigation.WHEEL, config.getNavigationMethodQualifier().getValue());
- assertEquals("wheel", config.getNavigationMethodQualifier().toString()); //$NON-NLS-1$
- }
-
- public void testFailures() {
- assertEquals(false, nmq.checkAndSet("", config));//$NON-NLS-1$
- assertEquals(false, nmq.checkAndSet("WHEEL", config));//$NON-NLS-1$
- assertEquals(false, nmq.checkAndSet("other", config));//$NON-NLS-1$
- }
-}
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/configurations/NetworkCodeQualifierTest.java b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/configurations/NetworkCodeQualifierTest.java
deleted file mode 100644
index 7512305..0000000
--- a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/configurations/NetworkCodeQualifierTest.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Eclipse Public License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.eclipse.org/org/documents/epl-v10.php
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.ide.eclipse.adt.internal.editors.resources.configurations;
-
-import com.android.ide.eclipse.adt.internal.resources.configurations.FolderConfiguration;
-import com.android.ide.eclipse.adt.internal.resources.configurations.NetworkCodeQualifier;
-
-import junit.framework.TestCase;
-
-public class NetworkCodeQualifierTest extends TestCase {
-
- private NetworkCodeQualifier mncq;
- private FolderConfiguration config;
-
- @Override
- protected void setUp() throws Exception {
- super.setUp();
- mncq = new NetworkCodeQualifier();
- config = new FolderConfiguration();
- }
-
- @Override
- protected void tearDown() throws Exception {
- super.tearDown();
- mncq = null;
- config = null;
- }
-
- public void testCheckAndSet() {
- assertEquals(true, mncq.checkAndSet("mnc123", config));//$NON-NLS-1$
- assertTrue(config.getNetworkCodeQualifier() != null);
- assertEquals(123, config.getNetworkCodeQualifier().getCode());
- assertEquals("mnc123", config.getNetworkCodeQualifier().toString()); //$NON-NLS-1$
- }
-
- public void testFailures() {
- assertEquals(false, mncq.checkAndSet("", config));//$NON-NLS-1$
- assertEquals(false, mncq.checkAndSet("mnc", config));//$NON-NLS-1$
- assertEquals(false, mncq.checkAndSet("MNC123", config));//$NON-NLS-1$
- assertEquals(false, mncq.checkAndSet("123", config));//$NON-NLS-1$
- assertEquals(false, mncq.checkAndSet("mncsdf", config));//$NON-NLS-1$
- }
-
-}
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/configurations/PixelDensityQualifierTest.java b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/configurations/PixelDensityQualifierTest.java
deleted file mode 100644
index 747e6d7..0000000
--- a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/configurations/PixelDensityQualifierTest.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * Copyright (C) 2007 The Android Open Source Project
- *
- * Licensed under the Eclipse Public License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.eclipse.org/org/documents/epl-v10.php
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.ide.eclipse.adt.internal.editors.resources.configurations;
-
-import com.android.ide.eclipse.adt.internal.resources.configurations.FolderConfiguration;
-import com.android.ide.eclipse.adt.internal.resources.configurations.PixelDensityQualifier;
-import com.android.resources.Density;
-
-import junit.framework.TestCase;
-
-public class PixelDensityQualifierTest extends TestCase {
-
- private PixelDensityQualifier pdq;
- private FolderConfiguration config;
-
- @Override
- protected void setUp() throws Exception {
- super.setUp();
- pdq = new PixelDensityQualifier();
- config = new FolderConfiguration();
- }
-
- @Override
- protected void tearDown() throws Exception {
- super.tearDown();
- pdq = null;
- config = null;
- }
-
- public void testCheckAndSet() {
- assertEquals(true, pdq.checkAndSet("ldpi", config));//$NON-NLS-1$
- assertTrue(config.getPixelDensityQualifier() != null);
- assertEquals(Density.LOW, config.getPixelDensityQualifier().getValue());
- assertEquals("ldpi", config.getPixelDensityQualifier().toString()); //$NON-NLS-1$
- }
-
- public void testFailures() {
- assertEquals(false, pdq.checkAndSet("", config));//$NON-NLS-1$
- assertEquals(false, pdq.checkAndSet("dpi", config));//$NON-NLS-1$
- assertEquals(false, pdq.checkAndSet("123dpi", config));//$NON-NLS-1$
- assertEquals(false, pdq.checkAndSet("123", config));//$NON-NLS-1$
- assertEquals(false, pdq.checkAndSet("sdfdpi", config));//$NON-NLS-1$
- }
-
- public void testIsBetterMatchThan() {
- PixelDensityQualifier ldpi = new PixelDensityQualifier(Density.LOW);
- PixelDensityQualifier mdpi = new PixelDensityQualifier(Density.MEDIUM);
- PixelDensityQualifier hdpi = new PixelDensityQualifier(Density.HIGH);
- PixelDensityQualifier xhdpi = new PixelDensityQualifier(Density.XHIGH);
-
- // first test that each Q is a better match than all other Qs when the ref is the same Q.
- assertTrue(ldpi.isBetterMatchThan(mdpi, ldpi));
- assertTrue(ldpi.isBetterMatchThan(hdpi, ldpi));
- assertTrue(ldpi.isBetterMatchThan(xhdpi, ldpi));
-
- assertTrue(mdpi.isBetterMatchThan(ldpi, mdpi));
- assertTrue(mdpi.isBetterMatchThan(hdpi, mdpi));
- assertTrue(mdpi.isBetterMatchThan(xhdpi, mdpi));
-
- assertTrue(hdpi.isBetterMatchThan(ldpi, hdpi));
- assertTrue(hdpi.isBetterMatchThan(mdpi, hdpi));
- assertTrue(hdpi.isBetterMatchThan(xhdpi, hdpi));
-
- assertTrue(xhdpi.isBetterMatchThan(ldpi, xhdpi));
- assertTrue(xhdpi.isBetterMatchThan(mdpi, xhdpi));
- assertTrue(xhdpi.isBetterMatchThan(hdpi, xhdpi));
-
- // now test that the highest dpi is always preferable if there's no exact match
-
- // looking for ldpi:
- assertTrue(hdpi.isBetterMatchThan(mdpi, ldpi));
- assertTrue(xhdpi.isBetterMatchThan(mdpi, ldpi));
- assertTrue(xhdpi.isBetterMatchThan(hdpi, ldpi));
- // the other way around
- assertFalse(mdpi.isBetterMatchThan(hdpi, ldpi));
- assertFalse(mdpi.isBetterMatchThan(xhdpi, ldpi));
- assertFalse(hdpi.isBetterMatchThan(xhdpi, ldpi));
-
- // looking for mdpi
- assertTrue(hdpi.isBetterMatchThan(ldpi, mdpi));
- assertTrue(xhdpi.isBetterMatchThan(ldpi, mdpi));
- assertTrue(xhdpi.isBetterMatchThan(hdpi, mdpi));
- // the other way around
- assertFalse(ldpi.isBetterMatchThan(hdpi, mdpi));
- assertFalse(ldpi.isBetterMatchThan(xhdpi, mdpi));
- assertFalse(hdpi.isBetterMatchThan(xhdpi, mdpi));
-
- // looking for hdpi
- assertTrue(mdpi.isBetterMatchThan(ldpi, hdpi));
- assertTrue(xhdpi.isBetterMatchThan(ldpi, hdpi));
- assertTrue(xhdpi.isBetterMatchThan(mdpi, hdpi));
- // the other way around
- assertFalse(ldpi.isBetterMatchThan(mdpi, hdpi));
- assertFalse(ldpi.isBetterMatchThan(xhdpi, hdpi));
- assertFalse(mdpi.isBetterMatchThan(xhdpi, hdpi));
-
- // looking for xhdpi
- assertTrue(mdpi.isBetterMatchThan(ldpi, xhdpi));
- assertTrue(hdpi.isBetterMatchThan(ldpi, xhdpi));
- assertTrue(hdpi.isBetterMatchThan(mdpi, xhdpi));
- // the other way around
- assertFalse(ldpi.isBetterMatchThan(mdpi, xhdpi));
- assertFalse(ldpi.isBetterMatchThan(hdpi, xhdpi));
- assertFalse(mdpi.isBetterMatchThan(hdpi, xhdpi));
- }
-}
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/configurations/RegionQualifierTest.java b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/configurations/RegionQualifierTest.java
deleted file mode 100644
index a70a04b..0000000
--- a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/configurations/RegionQualifierTest.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright (C) 2007 The Android Open Source Project
- *
- * Licensed under the Eclipse Public License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.eclipse.org/org/documents/epl-v10.php
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.ide.eclipse.adt.internal.editors.resources.configurations;
-
-import com.android.ide.eclipse.adt.internal.resources.configurations.FolderConfiguration;
-import com.android.ide.eclipse.adt.internal.resources.configurations.RegionQualifier;
-
-import junit.framework.TestCase;
-
-public class RegionQualifierTest extends TestCase {
-
- private RegionQualifier rq;
- private FolderConfiguration config;
-
- @Override
- protected void setUp() throws Exception {
- super.setUp();
-
- rq = new RegionQualifier();
- config = new FolderConfiguration();
- }
-
- @Override
- protected void tearDown() throws Exception {
- super.tearDown();
- rq = null;
- config = null;
- }
-
- public void testCheckAndSet() {
- assertEquals(true, rq.checkAndSet("rUS", config));//$NON-NLS-1$
- assertTrue(config.getRegionQualifier() != null);
- assertEquals("US", config.getRegionQualifier().getValue()); //$NON-NLS-1$
- assertEquals("rUS", config.getRegionQualifier().toString()); //$NON-NLS-1$
- }
-
- public void testFailures() {
- assertEquals(false, rq.checkAndSet("", config));//$NON-NLS-1$
- assertEquals(false, rq.checkAndSet("rus", config));//$NON-NLS-1$
- assertEquals(false, rq.checkAndSet("rUSA", config));//$NON-NLS-1$
- assertEquals(false, rq.checkAndSet("abc", config));//$NON-NLS-1$
- }
-}
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/configurations/ScreenDimensionQualifierTest.java b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/configurations/ScreenDimensionQualifierTest.java
deleted file mode 100644
index b25fb76..0000000
--- a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/configurations/ScreenDimensionQualifierTest.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright (C) 2007 The Android Open Source Project
- *
- * Licensed under the Eclipse Public License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.eclipse.org/org/documents/epl-v10.php
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.ide.eclipse.adt.internal.editors.resources.configurations;
-
-import com.android.ide.eclipse.adt.internal.resources.configurations.FolderConfiguration;
-import com.android.ide.eclipse.adt.internal.resources.configurations.ScreenDimensionQualifier;
-
-import junit.framework.TestCase;
-
-public class ScreenDimensionQualifierTest extends TestCase {
-
- private ScreenDimensionQualifier sdq;
- private FolderConfiguration config;
-
- @Override
- protected void setUp() throws Exception {
- super.setUp();
- sdq = new ScreenDimensionQualifier();
- config = new FolderConfiguration();
- }
-
- @Override
- protected void tearDown() throws Exception {
- super.tearDown();
- sdq = null;
- config = null;
- }
-
- public void testCheckAndSet() {
- assertEquals(true, sdq.checkAndSet("400x200", config));//$NON-NLS-1$
- assertTrue(config.getScreenDimensionQualifier() != null);
- assertEquals(400, config.getScreenDimensionQualifier().getValue1());
- assertEquals(200, config.getScreenDimensionQualifier().getValue2());
- assertEquals("400x200", config.getScreenDimensionQualifier().toString()); //$NON-NLS-1$
- }
-
- public void testFailures() {
- assertEquals(false, sdq.checkAndSet("", config));//$NON-NLS-1$
- assertEquals(false, sdq.checkAndSet("400X200", config));//$NON-NLS-1$
- assertEquals(false, sdq.checkAndSet("x200", config));//$NON-NLS-1$
- assertEquals(false, sdq.checkAndSet("ax200", config));//$NON-NLS-1$
- assertEquals(false, sdq.checkAndSet("400x", config));//$NON-NLS-1$
- assertEquals(false, sdq.checkAndSet("400xa", config));//$NON-NLS-1$
- assertEquals(false, sdq.checkAndSet("other", config));//$NON-NLS-1$
- }
-}
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/configurations/ScreenOrientationQualifierTest.java b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/configurations/ScreenOrientationQualifierTest.java
deleted file mode 100644
index b960c97..0000000
--- a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/configurations/ScreenOrientationQualifierTest.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright (C) 2007 The Android Open Source Project
- *
- * Licensed under the Eclipse Public License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.eclipse.org/org/documents/epl-v10.php
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.ide.eclipse.adt.internal.editors.resources.configurations;
-
-import com.android.ide.eclipse.adt.internal.resources.configurations.FolderConfiguration;
-import com.android.ide.eclipse.adt.internal.resources.configurations.ScreenOrientationQualifier;
-import com.android.resources.ScreenOrientation;
-
-import junit.framework.TestCase;
-
-public class ScreenOrientationQualifierTest extends TestCase {
-
- private ScreenOrientationQualifier soq;
- private FolderConfiguration config;
-
- @Override
- protected void setUp() throws Exception {
- super.setUp();
- soq = new ScreenOrientationQualifier();
- config = new FolderConfiguration();
- }
-
- @Override
- protected void tearDown() throws Exception {
- super.tearDown();
- soq = null;
- config = null;
- }
-
- public void testPortrait() {
- assertEquals(true, soq.checkAndSet("port", config)); //$NON-NLS-1$
- assertTrue(config.getScreenOrientationQualifier() != null);
- assertEquals(ScreenOrientation.PORTRAIT, config.getScreenOrientationQualifier().getValue());
- assertEquals("port", config.getScreenOrientationQualifier().toString()); //$NON-NLS-1$
- }
-
- public void testLanscape() {
- assertEquals(true, soq.checkAndSet("land", config)); //$NON-NLS-1$
- assertTrue(config.getScreenOrientationQualifier() != null);
- assertEquals(ScreenOrientation.LANDSCAPE,
- config.getScreenOrientationQualifier().getValue());
- assertEquals("land", config.getScreenOrientationQualifier().toString()); //$NON-NLS-1$
- }
-
- public void testSquare() {
- assertEquals(true, soq.checkAndSet("square", config)); //$NON-NLS-1$
- assertTrue(config.getScreenOrientationQualifier() != null);
- assertEquals(ScreenOrientation.SQUARE,
- config.getScreenOrientationQualifier().getValue());
- assertEquals("square", config.getScreenOrientationQualifier().toString()); //$NON-NLS-1$
- }
-
- public void testFailures() {
- assertEquals(false, soq.checkAndSet("", config));//$NON-NLS-1$
- assertEquals(false, soq.checkAndSet("PORT", config));//$NON-NLS-1$
- assertEquals(false, soq.checkAndSet("landscape", config));//$NON-NLS-1$
- assertEquals(false, soq.checkAndSet("portrait", config));//$NON-NLS-1$
- assertEquals(false, soq.checkAndSet("other", config));//$NON-NLS-1$
- }
-}
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/configurations/ScreenSizeQualifierTest.java b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/configurations/ScreenSizeQualifierTest.java
deleted file mode 100644
index 26cf1f3..0000000
--- a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/configurations/ScreenSizeQualifierTest.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Eclipse Public License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.eclipse.org/org/documents/epl-v10.php
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.ide.eclipse.adt.internal.editors.resources.configurations;
-
-import com.android.ide.eclipse.adt.internal.resources.configurations.FolderConfiguration;
-import com.android.ide.eclipse.adt.internal.resources.configurations.ScreenSizeQualifier;
-import com.android.resources.ScreenSize;
-
-import junit.framework.TestCase;
-
-public class ScreenSizeQualifierTest extends TestCase {
-
- private ScreenSizeQualifier ssq;
- private FolderConfiguration config;
-
- @Override
- protected void setUp() throws Exception {
- super.setUp();
- ssq = new ScreenSizeQualifier();
- config = new FolderConfiguration();
- }
-
- @Override
- protected void tearDown() throws Exception {
- super.tearDown();
- ssq = null;
- config = null;
- }
-
- public void testSmall() {
- assertEquals(true, ssq.checkAndSet("small", config)); //$NON-NLS-1$
- assertTrue(config.getScreenSizeQualifier() != null);
- assertEquals(ScreenSize.SMALL, config.getScreenSizeQualifier().getValue());
- assertEquals("small", config.getScreenSizeQualifier().toString()); //$NON-NLS-1$
- }
-
- public void testNormal() {
- assertEquals(true, ssq.checkAndSet("normal", config)); //$NON-NLS-1$
- assertTrue(config.getScreenSizeQualifier() != null);
- assertEquals(ScreenSize.NORMAL, config.getScreenSizeQualifier().getValue());
- assertEquals("normal", config.getScreenSizeQualifier().toString()); //$NON-NLS-1$
- }
-
- public void testLarge() {
- assertEquals(true, ssq.checkAndSet("large", config)); //$NON-NLS-1$
- assertTrue(config.getScreenSizeQualifier() != null);
- assertEquals(ScreenSize.LARGE, config.getScreenSizeQualifier().getValue());
- assertEquals("large", config.getScreenSizeQualifier().toString()); //$NON-NLS-1$
- }
-
- public void testXLarge() {
- assertEquals(true, ssq.checkAndSet("xlarge", config)); //$NON-NLS-1$
- assertTrue(config.getScreenSizeQualifier() != null);
- assertEquals(ScreenSize.XLARGE, config.getScreenSizeQualifier().getValue());
- assertEquals("xlarge", config.getScreenSizeQualifier().toString()); //$NON-NLS-1$
- }
-}
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/configurations/TextInputMethodQualifierTest.java b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/configurations/TextInputMethodQualifierTest.java
deleted file mode 100644
index f9ba80b..0000000
--- a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/configurations/TextInputMethodQualifierTest.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright (C) 2007 The Android Open Source Project
- *
- * Licensed under the Eclipse Public License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.eclipse.org/org/documents/epl-v10.php
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.ide.eclipse.adt.internal.editors.resources.configurations;
-
-import com.android.ide.eclipse.adt.internal.resources.configurations.FolderConfiguration;
-import com.android.ide.eclipse.adt.internal.resources.configurations.TextInputMethodQualifier;
-import com.android.resources.Keyboard;
-
-import junit.framework.TestCase;
-
-public class TextInputMethodQualifierTest extends TestCase {
-
- private TextInputMethodQualifier timq;
- private FolderConfiguration config;
-
- @Override
- protected void setUp() throws Exception {
- super.setUp();
- timq = new TextInputMethodQualifier();
- config = new FolderConfiguration();
- }
-
- @Override
- protected void tearDown() throws Exception {
- super.tearDown();
- timq = null;
- config = null;
- }
-
- public void testQuerty() {
- assertEquals(true, timq.checkAndSet("qwerty", config)); //$NON-NLS-1$
- assertTrue(config.getTextInputMethodQualifier() != null);
- assertEquals(Keyboard.QWERTY, config.getTextInputMethodQualifier().getValue());
- assertEquals("qwerty", config.getTextInputMethodQualifier().toString()); //$NON-NLS-1$
- }
-
- public void test12Key() {
- assertEquals(true, timq.checkAndSet("12key", config)); //$NON-NLS-1$
- assertTrue(config.getTextInputMethodQualifier() != null);
- assertEquals(Keyboard.TWELVEKEY, config.getTextInputMethodQualifier().getValue());
- assertEquals("12key", config.getTextInputMethodQualifier().toString()); //$NON-NLS-1$
- }
-
- public void testNoKey() {
- assertEquals(true, timq.checkAndSet("nokeys", config)); //$NON-NLS-1$
- assertTrue(config.getTextInputMethodQualifier() != null);
- assertEquals(Keyboard.NOKEY, config.getTextInputMethodQualifier().getValue());
- assertEquals("nokeys", config.getTextInputMethodQualifier().toString()); //$NON-NLS-1$
- }
-
- public void testFailures() {
- assertEquals(false, timq.checkAndSet("", config));//$NON-NLS-1$
- assertEquals(false, timq.checkAndSet("QWERTY", config));//$NON-NLS-1$
- assertEquals(false, timq.checkAndSet("12keys", config));//$NON-NLS-1$
- assertEquals(false, timq.checkAndSet("*12key", config));//$NON-NLS-1$
- assertEquals(false, timq.checkAndSet("other", config));//$NON-NLS-1$
- }
-}
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/configurations/TouchScreenQualifierTest.java b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/configurations/TouchScreenQualifierTest.java
deleted file mode 100644
index 1dafa8b..0000000
--- a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/configurations/TouchScreenQualifierTest.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright (C) 2007 The Android Open Source Project
- *
- * Licensed under the Eclipse Public License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.eclipse.org/org/documents/epl-v10.php
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.ide.eclipse.adt.internal.editors.resources.configurations;
-
-import com.android.ide.eclipse.adt.internal.resources.configurations.FolderConfiguration;
-import com.android.ide.eclipse.adt.internal.resources.configurations.TouchScreenQualifier;
-import com.android.resources.TouchScreen;
-
-import junit.framework.TestCase;
-
-public class TouchScreenQualifierTest extends TestCase {
-
- private TouchScreenQualifier tsq;
- private FolderConfiguration config;
-
- @Override
- protected void setUp() throws Exception {
- super.setUp();
- tsq = new TouchScreenQualifier();
- config = new FolderConfiguration();
- }
-
- @Override
- protected void tearDown() throws Exception {
- super.tearDown();
- tsq = null;
- config = null;
- }
-
- public void testNoTouch() {
- assertEquals(true, tsq.checkAndSet("notouch", config)); //$NON-NLS-1$
- assertTrue(config.getTouchTypeQualifier() != null);
- assertEquals(TouchScreen.NOTOUCH, config.getTouchTypeQualifier().getValue());
- assertEquals("notouch", config.getTouchTypeQualifier().toString()); //$NON-NLS-1$
- }
-
- public void testFinger() {
- assertEquals(true, tsq.checkAndSet("finger", config)); //$NON-NLS-1$
- assertTrue(config.getTouchTypeQualifier() != null);
- assertEquals(TouchScreen.FINGER, config.getTouchTypeQualifier().getValue());
- assertEquals("finger", config.getTouchTypeQualifier().toString()); //$NON-NLS-1$
- }
-
- public void testStylus() {
- assertEquals(true, tsq.checkAndSet("stylus", config)); //$NON-NLS-1$
- assertTrue(config.getTouchTypeQualifier() != null);
- assertEquals(TouchScreen.STYLUS, config.getTouchTypeQualifier().getValue());
- assertEquals("stylus", config.getTouchTypeQualifier().toString()); //$NON-NLS-1$
- }
-
- public void testFailures() {
- assertEquals(false, tsq.checkAndSet("", config));//$NON-NLS-1$
- assertEquals(false, tsq.checkAndSet("STYLUS", config));//$NON-NLS-1$
- assertEquals(false, tsq.checkAndSet("other", config));//$NON-NLS-1$
- }
-}
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/manager/ConfigMatchTest.java b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/manager/ConfigMatchTest.java
index f8dc9fb..f2a6b54 100644
--- a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/manager/ConfigMatchTest.java
+++ b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/manager/ConfigMatchTest.java
@@ -16,14 +16,12 @@
package com.android.ide.eclipse.adt.internal.editors.resources.manager;
-import com.android.ide.eclipse.adt.internal.resources.configurations.FolderConfiguration;
-import com.android.ide.eclipse.adt.internal.resources.configurations.ResourceQualifier;
+import com.android.ide.common.resources.ResourceFile;
+import com.android.ide.common.resources.ResourceFolder;
+import com.android.ide.common.resources.ResourceRepository;
+import com.android.ide.common.resources.SingleResourceFile;
+import com.android.ide.common.resources.configuration.FolderConfiguration;
import com.android.ide.eclipse.adt.internal.resources.manager.ProjectResources;
-import com.android.ide.eclipse.adt.internal.resources.manager.ResourceFile;
-import com.android.ide.eclipse.adt.internal.resources.manager.ResourceFolder;
-import com.android.ide.eclipse.adt.internal.resources.manager.ResourceFolderType;
-import com.android.ide.eclipse.adt.internal.resources.manager.ResourceManager;
-import com.android.ide.eclipse.adt.internal.resources.manager.SingleResourceFile;
import com.android.ide.eclipse.adt.io.IFileWrapper;
import com.android.ide.eclipse.adt.io.IFolderWrapper;
import com.android.ide.eclipse.mock.Mocks;
@@ -33,16 +31,13 @@ import com.android.resources.KeyboardState;
import com.android.resources.Navigation;
import com.android.resources.NavigationState;
import com.android.resources.NightMode;
+import com.android.resources.ResourceFolderType;
import com.android.resources.ScreenOrientation;
import com.android.resources.TouchScreen;
-import com.android.sdklib.io.IAbstractFolder;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IFolder;
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-
import junit.framework.TestCase;
public class ConfigMatchTest extends TestCase {
@@ -50,8 +45,8 @@ public class ConfigMatchTest extends TestCase {
private static final String MISC1_FILENAME = "foo.xml"; //$NON-NLS-1$
private static final String MISC2_FILENAME = "bar.xml"; //$NON-NLS-1$
+ private FolderConfiguration mDefaultConfig;
private ProjectResources mResources;
- private ResourceQualifier[] mQualifierList;
private FolderConfiguration config4;
private FolderConfiguration config3;
private FolderConfiguration config2;
@@ -61,15 +56,9 @@ public class ConfigMatchTest extends TestCase {
protected void setUp() throws Exception {
super.setUp();
- // create a Resource Manager to get a list of qualifier as instantiated by the real code.
- // Thanks for QualifierListTest we know this contains all the qualifiers.
- ResourceManager manager = ResourceManager.getInstance();
- Field qualifierListField = ResourceManager.class.getDeclaredField("mQualifiers");
- assertNotNull(qualifierListField);
- qualifierListField.setAccessible(true);
-
- // get the actual list.
- mQualifierList = (ResourceQualifier[])qualifierListField.get(manager);
+ // create a default config with all qualifiers.
+ mDefaultConfig = new FolderConfiguration();
+ mDefaultConfig.createDefault();
// create the project resources.
mResources = new ProjectResources(null /*project*/);
@@ -233,17 +222,18 @@ public class ConfigMatchTest extends TestCase {
* this particular qualifier.
*/
private FolderConfiguration getConfiguration(String... qualifierValues) {
- FolderConfiguration config = new FolderConfiguration();
+ // FolderConfiguration.getQualifierCount is always valid and up to date.
+ final int count = FolderConfiguration.getQualifierCount();
- // those must be of the same length
- assertEquals(qualifierValues.length, mQualifierList.length);
+ // Check we have the right number of qualifier.
+ assertEquals(qualifierValues.length, count);
- int index = 0;
+ FolderConfiguration config = new FolderConfiguration();
- for (ResourceQualifier qualifier : mQualifierList) {
- String value = qualifierValues[index++];
+ for (int i = 0 ; i < count ; i++) {
+ String value = qualifierValues[i];
if (value != null) {
- assertTrue(qualifier.checkAndSet(value, config));
+ assertTrue(mDefaultConfig.getQualifier(i).checkAndSet(value, config));
}
}
@@ -253,11 +243,11 @@ public class ConfigMatchTest extends TestCase {
/**
* Adds a folder to the given {@link ProjectResources} with the given
* {@link FolderConfiguration}. The folder is filled with files from the provided list.
- * @param resources the {@link ProjectResources} in which to add the folder.
+ * @param resources the {@link ResourceRepository} in which to add the folder.
* @param config the {@link FolderConfiguration} for the created folder.
* @param memberList the list of files for the folder.
*/
- private void addFolder(ProjectResources resources, FolderConfiguration config,
+ private void addFolder(ResourceRepository resources, FolderConfiguration config,
IFile[] memberList) throws Exception {
// figure out the folder name based on the configuration
@@ -267,28 +257,11 @@ public class ConfigMatchTest extends TestCase {
IFolder folder = Mocks.createFolder(folderName, memberList);
// add it to the resource, and get back a ResourceFolder object.
- ResourceFolder resFolder = _addProjectResourceFolder(resources, config, folder);
+ ResourceFolder resFolder = resources.processFolder(new IFolderWrapper(folder));
// and fill it with files from the list.
for (IFile file : memberList) {
resFolder.addFile(new SingleResourceFile(new IFileWrapper(file), resFolder));
}
}
-
- /** Calls ProjectResource.add method via reflection to circumvent access
- * restrictions that are enforced when running in the plug-in environment
- * ie cannot access package or protected members in a different plug-in, even
- * if they are in the same declared package as the accessor
- */
- private ResourceFolder _addProjectResourceFolder(ProjectResources resources,
- FolderConfiguration config, IFolder folder) throws Exception {
-
- Method addMethod = ProjectResources.class.getDeclaredMethod("add",
- ResourceFolderType.class, FolderConfiguration.class,
- IAbstractFolder.class);
- addMethod.setAccessible(true);
- ResourceFolder resFolder = (ResourceFolder)addMethod.invoke(resources,
- ResourceFolderType.LAYOUT, config, new IFolderWrapper(folder));
- return resFolder;
- }
}
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/manager/QualifierListTest.java b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/manager/QualifierListTest.java
deleted file mode 100644
index 8932a00..0000000
--- a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/resources/manager/QualifierListTest.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright (C) 2007 The Android Open Source Project
- *
- * Licensed under the Eclipse Public License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.eclipse.org/org/documents/epl-v10.php
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.ide.eclipse.adt.internal.editors.resources.manager;
-
-import com.android.ide.eclipse.adt.internal.resources.configurations.FolderConfiguration;
-import com.android.ide.eclipse.adt.internal.resources.configurations.ResourceQualifier;
-import com.android.ide.eclipse.adt.internal.resources.manager.ResourceManager;
-
-import java.lang.reflect.Field;
-
-import junit.framework.TestCase;
-
-public class QualifierListTest extends TestCase {
-
- private ResourceManager mManager;
-
- @Override
- public void setUp() throws Exception {
- super.setUp();
-
- mManager = ResourceManager.getInstance();
- }
-
- @Override
- protected void tearDown() throws Exception {
- super.tearDown();
- mManager = null;
- }
-
- public void testQualifierList() {
- try {
- // get the list of qualifier in the resource manager
- Field qualifierListField = ResourceManager.class.getDeclaredField("mQualifiers");
- assertNotNull(qualifierListField);
- qualifierListField.setAccessible(true);
-
- // get the actual list.
- ResourceQualifier[] qualifierList =
- (ResourceQualifier[])qualifierListField.get(mManager);
-
- // now get the number of qualifier in the FolderConfiguration
- Field qualCountField = FolderConfiguration.class.getDeclaredField("INDEX_COUNT");
- assertNotNull(qualCountField);
- qualCountField.setAccessible(true);
-
- // get the constant value
- Integer count = (Integer)qualCountField.get(null);
-
- // now compare
- assertEquals(count.intValue(), qualifierList.length);
- } catch (SecurityException e) {
- assertTrue(false);
- } catch (NoSuchFieldException e) {
- assertTrue(false);
- } catch (IllegalArgumentException e) {
- assertTrue(false);
- } catch (IllegalAccessException e) {
- assertTrue(false);
- }
- }
-}
-
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/xml/HyperlinksTest.java b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/xml/HyperlinksTest.java
deleted file mode 100644
index ec6f99a..0000000
--- a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/xml/HyperlinksTest.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Eclipse Public License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.eclipse.org/org/documents/epl-v10.php
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.ide.eclipse.adt.internal.editors.xml;
-
-import junit.framework.TestCase;
-
-public class HyperlinksTest extends TestCase {
- public void testFqnRegexp() throws Exception {
- assertTrue(Hyperlinks.CLASS_PATTERN.matcher("com.android.Foo").matches());
- assertTrue(Hyperlinks.CLASS_PATTERN.matcher("com.android.pk_g.Foo_Bar1").
- matches());
- assertTrue(Hyperlinks.CLASS_PATTERN.matcher("com.android.Foo$Inner").matches());
-
- // Should we allow non-standard packages and class names?
- // For now, we're allowing it -- see how this works out in practice.
- //assertFalse(XmlHyperlinkResolver.CLASS_PATTERN.matcher("Foo.bar").matches());
- assertTrue(Hyperlinks.CLASS_PATTERN.matcher("Foo.bar").matches());
-
- assertFalse(Hyperlinks.CLASS_PATTERN.matcher("LinearLayout").matches());
- assertFalse(Hyperlinks.CLASS_PATTERN.matcher(".").matches());
- assertFalse(Hyperlinks.CLASS_PATTERN.matcher(".F").matches());
- assertFalse(Hyperlinks.CLASS_PATTERN.matcher("f.").matches());
- assertFalse(Hyperlinks.CLASS_PATTERN.matcher("Foo").matches());
- assertFalse(Hyperlinks.CLASS_PATTERN.matcher("com.android.1Foo").matches());
- assertFalse(Hyperlinks.CLASS_PATTERN.matcher("1com.Foo").matches());
- }
-}
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/resources/ResourceHelperTest.java b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/resources/ResourceHelperTest.java
new file mode 100644
index 0000000..078e7cb
--- /dev/null
+++ b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/resources/ResourceHelperTest.java
@@ -0,0 +1,178 @@
+/*
+ * Copyright (C) 2011 The Android Open Source Project
+ *
+ * Licensed under the Eclipse Public License, Version 1.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.eclipse.org/org/documents/epl-v10.php
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.ide.eclipse.adt.internal.resources;
+
+import static com.android.resources.ResourceType.DIMEN;
+import static com.android.resources.ResourceType.LAYOUT;
+
+import com.android.ide.common.resources.ResourceDeltaKind;
+import com.android.ide.common.resources.configuration.FolderConfiguration;
+import com.android.ide.common.resources.configuration.ResourceQualifier;
+import com.android.resources.ResourceType;
+
+import org.eclipse.core.resources.IResourceDelta;
+
+import junit.framework.TestCase;
+
+
+/**
+ * Test ResourceHelper
+ */
+public class ResourceHelperTest extends TestCase {
+
+ /**
+ * temp fake qualifier class.
+ */
+ private static class FakeQualifierClass extends ResourceQualifier {
+
+ @Override
+ public boolean checkAndSet(String value, FolderConfiguration config) {
+ return false;
+ }
+
+ @Override
+ public boolean equals(Object object) {
+ return false;
+ }
+
+ @Override
+ public String getFolderSegment() {
+ return null;
+ }
+
+ @Override
+ public String getLongDisplayValue() {
+ return null;
+ }
+
+ @Override
+ public String getName() {
+ return null;
+ }
+
+ @Override
+ public String getShortDisplayValue() {
+ return null;
+ }
+
+ @Override
+ public String getShortName() {
+ return null;
+ }
+
+ @Override
+ public boolean hasFakeValue() {
+ return false;
+ }
+
+ @Override
+ public int hashCode() {
+ return 0;
+ }
+
+ @Override
+ public boolean isValid() {
+ return false;
+ }
+
+ }
+
+ public void testgetIcon() throws Exception {
+ // check that the method returns null for an unknown qualifier class
+ assertNull(ResourceHelper.getIcon(FakeQualifierClass.class));
+
+ // find all the qualifiers through FolderConfiguration.createdefault()
+ FolderConfiguration config = new FolderConfiguration();
+ config.createDefault();
+ final int count = FolderConfiguration.getQualifierCount();
+ for (int i = 0 ; i < count ; i++) {
+ ResourceQualifier qual = config.getQualifier(i);
+ assertNotNull(qual);
+ assertNotNull(qual.getClass().getCanonicalName(),
+ ResourceHelper.getIcon(qual.getClass()));
+ }
+ }
+
+ public void testGetResourceDeltaKind() {
+ assertEquals(ResourceDeltaKind.ADDED,
+ ResourceHelper.getResourceDeltaKind(IResourceDelta.ADDED));
+ assertEquals(ResourceDeltaKind.REMOVED,
+ ResourceHelper.getResourceDeltaKind(IResourceDelta.REMOVED));
+ assertEquals(ResourceDeltaKind.CHANGED,
+ ResourceHelper.getResourceDeltaKind(IResourceDelta.CHANGED));
+
+ assertNull(ResourceHelper.getResourceDeltaKind(IResourceDelta.ADDED_PHANTOM));
+ }
+
+ public void testParseResource() {
+ assertNull(ResourceHelper.parseResource(""));
+ assertNull(ResourceHelper.parseResource("not_a_resource"));
+
+ assertEquals(LAYOUT, ResourceHelper.parseResource("@layout/foo").getFirst());
+ assertEquals(DIMEN, ResourceHelper.parseResource("@dimen/foo").getFirst());
+ assertEquals(DIMEN, ResourceHelper.parseResource("@android:dimen/foo").getFirst());
+ assertEquals("foo", ResourceHelper.parseResource("@layout/foo").getSecond());
+ assertEquals("foo", ResourceHelper.parseResource("@dimen/foo").getSecond());
+ assertEquals("foo", ResourceHelper.parseResource("@android:dimen/foo").getSecond());
+ }
+
+
+ public void testIsFileBasedResourceType() throws Exception {
+ assertTrue(ResourceHelper.isFileBasedResourceType(ResourceType.ANIMATOR));
+ assertTrue(ResourceHelper.isFileBasedResourceType(ResourceType.LAYOUT));
+
+ assertFalse(ResourceHelper.isFileBasedResourceType(ResourceType.STRING));
+ assertFalse(ResourceHelper.isFileBasedResourceType(ResourceType.DIMEN));
+ assertFalse(ResourceHelper.isFileBasedResourceType(ResourceType.ID));
+
+ // Both:
+ assertTrue(ResourceHelper.isFileBasedResourceType(ResourceType.DRAWABLE));
+ assertTrue(ResourceHelper.isFileBasedResourceType(ResourceType.COLOR));
+ }
+
+ public void testIsValueBasedResourceType() throws Exception {
+ assertTrue(ResourceHelper.isValueBasedResourceType(ResourceType.STRING));
+ assertTrue(ResourceHelper.isValueBasedResourceType(ResourceType.DIMEN));
+ assertTrue(ResourceHelper.isValueBasedResourceType(ResourceType.ID));
+
+ assertFalse(ResourceHelper.isValueBasedResourceType(ResourceType.LAYOUT));
+
+ // These can be both:
+ assertTrue(ResourceHelper.isValueBasedResourceType(ResourceType.DRAWABLE));
+ assertTrue(ResourceHelper.isValueBasedResourceType(ResourceType.COLOR));
+ }
+
+ public void testCanCreateResource() throws Exception {
+ assertTrue(ResourceHelper.canCreateResource("@layout/foo"));
+ assertTrue(ResourceHelper.canCreateResource("@string/foo"));
+ assertTrue(ResourceHelper.canCreateResource("@dimen/foo"));
+ assertTrue(ResourceHelper.canCreateResource("@color/foo"));
+
+ assertFalse(ResourceHelper.canCreateResource("@typo/foo")); // nonexistent type
+ assertFalse(ResourceHelper.canCreateResource("@layout/foo bar")); // space
+ assertFalse(ResourceHelper.canCreateResource("@layout/new")); // keyword
+ assertFalse(ResourceHelper.canCreateResource("@android:string/foo")); // framework
+ assertFalse(ResourceHelper.canCreateResource("@android:dimen/foo"));
+ assertFalse(ResourceHelper.canCreateResource("@android:color/foo"));
+ }
+
+ public void testStyleToTheme() throws Exception {
+ assertEquals("Foo", ResourceHelper.styleToTheme("Foo"));
+ assertEquals("Theme", ResourceHelper.styleToTheme("@android:style/Theme"));
+ assertEquals("LocalTheme", ResourceHelper.styleToTheme("@style/LocalTheme"));
+ }
+}
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/resources/ResourceNameValidatorTest.java b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/resources/ResourceNameValidatorTest.java
new file mode 100644
index 0000000..b771667
--- /dev/null
+++ b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/resources/ResourceNameValidatorTest.java
@@ -0,0 +1,51 @@
+/*
+ * Copyright (C) 2010 The Android Open Source Project
+ *
+ * Licensed under the Eclipse Public License, Version 1.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.eclipse.org/org/documents/epl-v10.php
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.ide.eclipse.adt.internal.resources;
+
+import com.android.resources.ResourceFolderType;
+import com.android.resources.ResourceType;
+
+import java.util.Collections;
+
+import junit.framework.TestCase;
+
+public class ResourceNameValidatorTest extends TestCase {
+ public void testValidator() throws Exception {
+ // Valid
+ ResourceNameValidator validator = ResourceNameValidator.create(true,
+ ResourceFolderType.VALUES);
+ assertTrue(validator.isValid("foo") == null);
+ assertTrue(validator.isValid("foo.xml") == null);
+ assertTrue(validator.isValid("Foo123_$") == null);
+
+ // Invalid
+ assertTrue(validator.isValid("") != null);
+ assertTrue(validator.isValid(" ") != null);
+ assertTrue(validator.isValid("foo.xm") != null);
+ assertTrue(validator.isValid("foo bar") != null);
+ assertTrue(validator.isValid("1foo") != null);
+ assertTrue(validator.isValid("foo%bar") != null);
+ assertTrue(ResourceNameValidator.create(true, Collections.singleton("foo"),
+ ResourceType.STRING).isValid("foo") != null);
+
+ // Only lowercase chars allowed in file-based resource names
+ assertTrue(ResourceNameValidator.create(true, ResourceFolderType.LAYOUT)
+ .isValid("Foo123_$") != null);
+ assertTrue(ResourceNameValidator.create(true, ResourceFolderType.LAYOUT)
+ .isValid("foo123_") == null);
+ }
+}
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/resources/manager/FolderTypeRelationShipTest.java b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/resources/manager/FolderTypeRelationShipTest.java
deleted file mode 100644
index f1ce9d9..0000000
--- a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/resources/manager/FolderTypeRelationShipTest.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Eclipse Public License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.eclipse.org/org/documents/epl-v10.php
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.ide.eclipse.adt.internal.resources.manager;
-
-import com.android.resources.ResourceType;
-
-import junit.framework.TestCase;
-
-public class FolderTypeRelationShipTest extends TestCase {
-
- public void testResourceType() {
- // all resource type should be in the FolderTypeRelationShip map.
- // loop on all the enum, and make sure there's at least one folder type for it.
- for (ResourceType type : ResourceType.values()) {
- assertTrue(type.getDisplayName(),
- FolderTypeRelationship.getRelatedFolders(type).length > 0);
- }
- }
-
- public void testResourceFolderType() {
- // all resource folder type should generate at least one type of resource.
- // loop on all the enum, and make sure there's at least one res type for it.
- for (ResourceFolderType type : ResourceFolderType.values()) {
- assertTrue(type.getName(),
- FolderTypeRelationship.getRelatedResourceTypes(type).length > 0);
- }
- }
-
-}
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/wizards/newxmlfile/ResourceNameValidatorTest.java b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/wizards/newxmlfile/ResourceNameValidatorTest.java
deleted file mode 100644
index 5ee6793..0000000
--- a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/wizards/newxmlfile/ResourceNameValidatorTest.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Eclipse Public License, Version 1.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.eclipse.org/org/documents/epl-v10.php
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.ide.eclipse.adt.internal.wizards.newxmlfile;
-
-import java.util.Collections;
-
-import junit.framework.TestCase;
-
-public class ResourceNameValidatorTest extends TestCase {
- public void testValidator() throws Exception {
- // Valid
- assertTrue(ResourceNameValidator.create(true).isValid("foo") == null);
- assertTrue(ResourceNameValidator.create(true).isValid("foo.xml") == null);
- assertTrue(ResourceNameValidator.create(true).isValid("Foo123_$") == null);
-
- // Invalid
- assertTrue(ResourceNameValidator.create(true).isValid("") != null);
- assertTrue(ResourceNameValidator.create(true).isValid(" ") != null);
- assertTrue(ResourceNameValidator.create(true).isValid("foo.xm") != null);
- assertTrue(ResourceNameValidator.create(true).isValid("foo bar") != null);
- assertTrue(ResourceNameValidator.create(true).isValid("1foo") != null);
- assertTrue(ResourceNameValidator.create(true).isValid("foo%bar") != null);
- assertTrue(ResourceNameValidator.create(true, Collections.singleton("foo"))
- .isValid("foo") != null);
- }
-}