diff options
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/common/layout/BaseLayoutRuleTest.java')
-rw-r--r-- | eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/common/layout/BaseLayoutRuleTest.java | 245 |
1 files changed, 0 insertions, 245 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/common/layout/BaseLayoutRuleTest.java b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/common/layout/BaseLayoutRuleTest.java deleted file mode 100644 index d176fe7d1..000000000 --- a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/common/layout/BaseLayoutRuleTest.java +++ /dev/null @@ -1,245 +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.common.layout; - -import static com.android.SdkConstants.ANDROID_URI; -import static com.android.SdkConstants.ATTR_ID; - -import com.android.ide.common.api.IDragElement; -import com.android.ide.common.api.INode; -import com.android.ide.common.api.Rect; -import com.android.ide.common.layout.BaseLayoutRule.AttributeFilter; -import com.android.utils.Pair; - -import java.util.Arrays; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Map; -import java.util.Set; - -// TODO: Check assertions -// TODO: Check equals() but not == strings by using new String("") to prevent interning -// TODO: Rename BaseLayout to BaseLayoutRule, and tests too of course - -public class BaseLayoutRuleTest extends LayoutTestBase { - - /** Provides test data used by other test cases */ - private IDragElement[] createSampleElements() { - IDragElement[] elements = TestDragElement.create(TestDragElement.create( - "android.widget.Button", new Rect(0, 0, 100, 80)).id("@+id/Button01"), - TestDragElement.create("android.widget.LinearLayout", new Rect(0, 80, 100, 280)) - .id("@+id/LinearLayout01").add( - TestDragElement.create("android.widget.Button", - new Rect(0, 80, 100, 80)).id("@+id/Button011"), - TestDragElement.create("android.widget.Button", - new Rect(0, 180, 100, 80)).id("@+id/Button012")), - TestDragElement.create("android.widget.Button", new Rect(100, 0, 100, 80)).id( - "@+id/Button02")); - return elements; - } - - /** Test {@link BaseLayoutRule#collectIds}: Check that basic lookup of id works */ - public final void testCollectIds1() { - IDragElement[] elements = TestDragElement.create(TestDragElement.create( - "android.widget.Button", new Rect(0, 0, 100, 80)).id("@+id/Button01")); - Map<String, Pair<String, String>> idMap = new HashMap<String, Pair<String, String>>(); - Map<String, Pair<String, String>> ids = new BaseLayoutRule().collectIds(idMap, elements); - assertEquals(1, ids.size()); - assertEquals("@+id/Button01", ids.keySet().iterator().next()); - } - - /** - * Test {@link BaseLayoutRule#collectIds}: Check that with the wrong URI we - * don't pick up the ID - */ - public final void testCollectIds2() { - IDragElement[] elements = TestDragElement.create(TestDragElement.create( - "android.widget.Button", new Rect(0, 0, 100, 80)).set("myuri", ATTR_ID, - "@+id/Button01")); - - Map<String, Pair<String, String>> idMap = new HashMap<String, Pair<String, String>>(); - Map<String, Pair<String, String>> ids = new BaseLayoutRule().collectIds(idMap, elements); - assertEquals(0, ids.size()); - } - - /** - * Test {@link BaseLayoutRule#normalizeId(String)} - */ - public final void testNormalizeId() { - assertEquals("foo", new BaseLayoutRule().normalizeId("foo")); - assertEquals("@+id/name", new BaseLayoutRule().normalizeId("@id/name")); - assertEquals("@+id/name", new BaseLayoutRule().normalizeId("@+id/name")); - } - - /** - * Test {@link BaseLayoutRule#collectExistingIds} - */ - public final void testCollectExistingIds1() { - Set<String> existing = new HashSet<String>(); - INode node = TestNode.create("android.widget.Button").id("@+id/Button012").add( - TestNode.create("android.widget.Button").id("@+id/Button2")); - - new BaseLayoutRule().collectExistingIds(node, existing); - - assertEquals(2, existing.size()); - assertContainsSame(Arrays.asList("@+id/Button2", "@+id/Button012"), existing); - } - - /** - * Test {@link BaseLayoutRule#collectIds}: Check that with multiple elements and - * some children we still pick up all the right id's - */ - public final void testCollectIds3() { - Map<String, Pair<String, String>> idMap = new HashMap<String, Pair<String, String>>(); - - IDragElement[] elements = createSampleElements(); - Map<String, Pair<String, String>> ids = new BaseLayoutRule().collectIds(idMap, elements); - assertEquals(5, ids.size()); - assertContainsSame(Arrays.asList("@+id/Button01", "@+id/Button02", "@+id/Button011", - "@+id/Button012", "@+id/LinearLayout01"), ids.keySet()); - - // Make sure the Pair has the right stuff too; - // (having the id again in the pair seems redundant; see if I really - // need it in the implementation) - assertEquals(Pair.of("@+id/LinearLayout01", "android.widget.LinearLayout"), ids - .get("@+id/LinearLayout01")); - } - - /** - * Test {@link BaseLayoutRule#remapIds}: Ensure that it identifies a conflict - */ - public final void testRemapIds1() { - Map<String, Pair<String, String>> idMap = new HashMap<String, Pair<String, String>>(); - BaseLayoutRule baseLayout = new BaseLayoutRule(); - IDragElement[] elements = createSampleElements(); - baseLayout.collectIds(idMap, elements); - INode node = TestNode.create("android.widget.Button").id("@+id/Button012").add( - TestNode.create("android.widget.Button").id("@+id/Button2")); - - assertEquals(5, idMap.size()); - Map<String, Pair<String, String>> remapped = baseLayout.remapIds(node, idMap); - // 4 original from the sample elements, plus overlap with one - // (Button012) - one new - // button added in - assertEquals(6, remapped.size()); - - // TODO: I'm a little confused about what exactly this method should do; - // check with Raphael. - } - - - /** - * Test {@link BaseLayoutRule#getDropIdMap} - */ - public final void testGetDropIdMap() { - BaseLayoutRule baseLayout = new BaseLayoutRule(); - IDragElement[] elements = createSampleElements(); - INode node = TestNode.create("android.widget.Button").id("@+id/Button012").add( - TestNode.create("android.widget.Button").id("@+id/Button2")); - - Map<String, Pair<String, String>> idMap = baseLayout.getDropIdMap(node, elements, true); - assertContainsSame(Arrays.asList("@+id/Button01", "@+id/Button012", "@+id/Button011", - "@id/Button012", "@+id/Button02", "@+id/LinearLayout01"), idMap - .keySet()); - - // TODO: I'm a little confused about what exactly this method should do; - // check with Raphael. - } - - public final void testAddAttributes1() { - BaseLayoutRule layout = new BaseLayoutRule(); - - // First try with no filter - IDragElement oldElement = TestDragElement.create("a.w.B").id("@+id/foo"); - INode newNode = TestNode.create("a.w.B").id("@+id/foo").set("u", "key", "value").set("u", - "nothidden", "nothiddenvalue"); - ; - AttributeFilter filter = null; - // No references in this test case - Map<String, Pair<String, String>> idMap = null; - - layout.addAttributes(newNode, oldElement, idMap, filter); - assertEquals("value", newNode.getStringAttr("u", "key")); - assertEquals("nothiddenvalue", newNode.getStringAttr("u", "nothidden")); - } - - public final void testAddAttributes2() { - // Test filtering - BaseLayoutRule layout = new BaseLayoutRule(); - - // First try with no filter - IDragElement oldElement = TestDragElement.create("a.w.B").id("@+id/foo"); - INode newNode = TestNode.create("a.w.B").id("@+id/foo").set("u", "key", "value").set("u", - "hidden", "hiddenvalue"); - AttributeFilter filter = new AttributeFilter() { - - @Override - public String replace(String attributeUri, String attributeName, - String attributeValue) { - if (attributeName.equals("hidden")) { - return null; - } - - return attributeValue; - } - }; - // No references in this test case - Map<String, Pair<String, String>> idMap = null; - - layout.addAttributes(newNode, oldElement, idMap, filter); - assertEquals("value", newNode.getStringAttr("u", "key")); - } - - public final void testFindNewId() { - BaseLayoutRule baseLayout = new BaseLayoutRule(); - Set<String> existing = new HashSet<String>(); - assertEquals("@+id/Widget01", baseLayout.findNewId("a.w.Widget", existing)); - - existing.add("@+id/Widget01"); - assertEquals("@+id/Widget02", baseLayout.findNewId("a.w.Widget", existing)); - - existing.add("@+id/Widget02"); - assertEquals("@+id/Widget03", baseLayout.findNewId("a.w.Widget", existing)); - - existing.remove("@+id/Widget02"); - assertEquals("@+id/Widget02", baseLayout.findNewId("a.w.Widget", existing)); - } - - public final void testDefaultAttributeFilter() { - assertEquals("true", BaseLayoutRule.DEFAULT_ATTR_FILTER.replace("myuri", "layout_alignRight", - "true")); - assertEquals(null, BaseLayoutRule.DEFAULT_ATTR_FILTER.replace(ANDROID_URI, - "layout_alignRight", "true")); - assertEquals("true", BaseLayoutRule.DEFAULT_ATTR_FILTER.replace(ANDROID_URI, - "myproperty", "true")); - } - - public final void testAddInnerElements() { - IDragElement oldElement = TestDragElement.create("root").add( - TestDragElement.create("a.w.B").id("@+id/child1") - .set("uri", "childprop1", "value1"), - TestDragElement.create("a.w.B").id("@+id/child2").set("uri", "childprop2a", - "value2a").set("uri", "childprop2b", "value2b")); - INode newNode = TestNode.create("a.w.B").id("@+id/foo"); - Map<String, Pair<String, String>> idMap = new HashMap<String, Pair<String, String>>(); - BaseLayoutRule layout = new BaseLayoutRule(); - layout.addInnerElements(newNode, oldElement, idMap); - assertEquals(2, newNode.getChildren().length); - - assertEquals("value2b", newNode.getChildren()[1].getStringAttr("uri", "childprop2b")); - } -} |