aboutsummaryrefslogtreecommitdiff
path: root/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/layout/UiElementPullParserTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/layout/UiElementPullParserTest.java')
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/layout/UiElementPullParserTest.java256
1 files changed, 0 insertions, 256 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/layout/UiElementPullParserTest.java b/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/layout/UiElementPullParserTest.java
deleted file mode 100644
index 5cac663d7..000000000
--- a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/layout/UiElementPullParserTest.java
+++ /dev/null
@@ -1,256 +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.layout;
-
-import com.android.SdkConstants;
-import com.android.ide.common.api.IAttributeInfo.Format;
-import com.android.ide.common.resources.platform.AttributeInfo;
-import com.android.ide.eclipse.adt.internal.editors.descriptors.AttributeDescriptor;
-import com.android.ide.eclipse.adt.internal.editors.descriptors.ElementDescriptor;
-import com.android.ide.eclipse.adt.internal.editors.descriptors.TextAttributeDescriptor;
-import com.android.ide.eclipse.adt.internal.editors.mock.MockXmlNode;
-import com.android.ide.eclipse.adt.internal.editors.uimodel.UiElementNode;
-import com.android.resources.Density;
-
-import org.w3c.dom.Node;
-import org.xmlpull.v1.XmlPullParser;
-import org.xmlpull.v1.XmlPullParserException;
-
-import java.util.HashMap;
-
-import junit.framework.TestCase;
-
-public class UiElementPullParserTest extends TestCase {
-
- private UiElementNode ui;
- private HashMap<String, String> button1Map;
- private HashMap<String, String> button2Map;
- private HashMap<String, String> textMap;
-
- private TextAttributeDescriptor createTextAttrDesc(String xmlName) {
- return new TextAttributeDescriptor(
- xmlName, // xmlLocalName
- SdkConstants.NS_RESOURCES,
- new AttributeInfo(xmlName, Format.STRING_SET)
- );
- }
-
- @Override
- protected void setUp() throws Exception {
- // set up some basic descriptors.
- // We have button, textview, linear layout, relative layout.
- // only the layouts have children (all 4 descriptors possible)
- // Also add some dummy attributes.
- ElementDescriptor buttonDescriptor = new ElementDescriptor("Button", "Button", "", "",
- new AttributeDescriptor[] {
- createTextAttrDesc("name"),
- createTextAttrDesc("text"),
- },
- new ElementDescriptor[] {}, false);
-
- ElementDescriptor textDescriptor = new ElementDescriptor("TextView", "TextView", "", "",
- new AttributeDescriptor[] {
- createTextAttrDesc("name"),
- createTextAttrDesc("text"),
- },
- new ElementDescriptor[] {}, false);
-
- ElementDescriptor linearDescriptor = new ElementDescriptor("LinearLayout", "Linear Layout",
- "", "",
- new AttributeDescriptor[] {
- createTextAttrDesc("orientation"),
- },
- new ElementDescriptor[] { }, false);
-
- ElementDescriptor relativeDescriptor = new ElementDescriptor("RelativeLayout",
- "Relative Layout", "", "",
- new AttributeDescriptor[] {
- createTextAttrDesc("orientation"),
- },
- new ElementDescriptor[] { }, false);
-
- ElementDescriptor[] a = new ElementDescriptor[] {
- buttonDescriptor, textDescriptor, linearDescriptor, relativeDescriptor
- };
-
- linearDescriptor.setChildren(a);
- relativeDescriptor.setChildren(a);
-
- // document descriptor
- ElementDescriptor rootDescriptor = new ElementDescriptor("root", "", "", "",
- new AttributeDescriptor[] { }, a, false);
-
-
- ui = new UiElementNode(rootDescriptor);
-
- /* create a dummy XML file.
- * <LinearLayout android:orientation="vertical">
- * <Button android:name="button1" android:text="button1text"/>
- * <RelativeLayout android:orientation="toto">
- * <Button android:name="button2" android:text="button2text"/>
- * <TextView android:name="text1" android:text="text1text"/>
- * </RelativeLayout>
- * </LinearLayout>
- */
- MockXmlNode button1 = new MockXmlNode(null /* namespace */, "Button", Node.ELEMENT_NODE,
- null);
- button1.addAttributes(SdkConstants.NS_RESOURCES, "name", "button1");
- button1.addAttributes(SdkConstants.NS_RESOURCES, "text", "button1text");
-
- // create a map of the attributes we add to the multi-attribute nodes so that
- // we can more easily test the values when we parse the XML.
- // This is due to some attributes showing in a certain order for a node and in a different
- // order in another node. Since the order doesn't matter, we just simplify the test.
- button1Map = new HashMap<String, String>();
- button1Map.put("name", "button1");
- button1Map.put("text", "button1text");
-
- MockXmlNode button2 = new MockXmlNode(null /* namespace */, "Button", Node.ELEMENT_NODE,
- null);
- button2.addAttributes(SdkConstants.NS_RESOURCES, "name", "button2");
- button2.addAttributes(SdkConstants.NS_RESOURCES, "text", "button2text");
-
- button2Map = new HashMap<String, String>();
- button2Map.put("name", "button2");
- button2Map.put("text", "button2text");
-
- MockXmlNode text = new MockXmlNode(null /* namespace */, "TextView", Node.ELEMENT_NODE,
- null);
- text.addAttributes(SdkConstants.NS_RESOURCES, "name", "text1");
- text.addAttributes(SdkConstants.NS_RESOURCES, "text", "text1text");
-
- textMap = new HashMap<String, String>();
- textMap.put("name", "text1");
- textMap.put("text", "text1text");
-
- MockXmlNode relative = new MockXmlNode(null /* namespace */, "RelativeLayout",
- Node.ELEMENT_NODE, new MockXmlNode[] { button2, text });
- relative.addAttributes(SdkConstants.NS_RESOURCES, "orientation", "toto");
-
- MockXmlNode linear = new MockXmlNode(null /* namespace */, "LinearLayout",
- Node.ELEMENT_NODE, new MockXmlNode[] { button1, relative });
- linear.addAttributes(SdkConstants.NS_RESOURCES, "orientation", "vertical");
-
- MockXmlNode root = new MockXmlNode(null /* namespace */, "root", Node.ELEMENT_NODE,
- new MockXmlNode[] { linear });
-
- // put the namespace/prefix in place
- root.setPrefix(SdkConstants.NS_RESOURCES, "android");
-
- // load the xml into the UiElementNode
- ui.loadFromXmlNode(root);
-
- super.setUp();
- }
-
- @Override
- protected void tearDown() throws Exception {
- super.tearDown();
- }
-
- public void testParser() {
- try {
- // wrap the parser around the ui element node, and start parsing
- UiElementPullParser parser = new UiElementPullParser(
- ui, // model
- false, // explodedView
- null, // explodeNodes
- Density.MEDIUM, // density (default from ConfigurationComposite)
- null // iProject
- );
-
- assertEquals(XmlPullParser.START_DOCUMENT, parser.getEventType());
-
- // top level Linear layout
- assertEquals(XmlPullParser.START_TAG, parser.next());
- assertEquals("LinearLayout", parser.getName());
- assertEquals(1, parser.getAttributeCount());
- assertEquals("orientation", parser.getAttributeName(0));
- assertEquals(SdkConstants.NS_RESOURCES, parser.getAttributeNamespace(0));
- assertEquals("android", parser.getAttributePrefix(0));
- assertEquals("vertical", parser.getAttributeValue(0));
-
- // Button
- assertEquals(XmlPullParser.START_TAG, parser.next());
- assertEquals("Button", parser.getName());
- assertEquals(2, parser.getAttributeCount());
- check(parser, 0, button1Map);
- check(parser, 1, button1Map);
- // end of button
- assertEquals(XmlPullParser.END_TAG, parser.next());
-
- // Relative Layout
- assertEquals(XmlPullParser.START_TAG, parser.next());
- assertEquals("RelativeLayout", parser.getName());
- assertEquals(1, parser.getAttributeCount());
- assertEquals("orientation", parser.getAttributeName(0));
- assertEquals(SdkConstants.NS_RESOURCES, parser.getAttributeNamespace(0));
- assertEquals("android", parser.getAttributePrefix(0));
- assertEquals("toto", parser.getAttributeValue(0));
-
- // Button
- assertEquals(XmlPullParser.START_TAG, parser.next());
- assertEquals("Button", parser.getName());
- assertEquals(2, parser.getAttributeCount());
- check(parser, 0, button2Map);
- check(parser, 1, button2Map);
- // end of button
- assertEquals(XmlPullParser.END_TAG, parser.next());
-
- // TextView
- assertEquals(XmlPullParser.START_TAG, parser.next());
- assertEquals("TextView", parser.getName());
- assertEquals(2, parser.getAttributeCount());
- check(parser, 0, textMap);
- check(parser, 1, textMap);
- // end of TextView
- assertEquals(XmlPullParser.END_TAG, parser.next());
-
- // end of RelativeLayout
- assertEquals(XmlPullParser.END_TAG, parser.next());
-
-
- // end of top level linear layout
- assertEquals(XmlPullParser.END_TAG, parser.next());
-
- assertEquals(XmlPullParser.END_DOCUMENT, parser.next());
- } catch (XmlPullParserException e) {
- e.printStackTrace();
- assertTrue(false);
- }
- }
-
- /**
- * Receives a {@link XmlPullParser} at the START_TAG level, and checks the i-th attribute
- * to be present in the {@link HashMap} with the proper (name, value)
- * @param parser
- * @param i
- * @param map
- */
- private void check(UiElementPullParser parser, int i, HashMap<String, String> map) {
- String name = parser.getAttributeName(i);
- String value = parser.getAttributeValue(i);
-
- String referenceValue = map.get(name);
- assertNotNull(referenceValue);
- assertEquals(referenceValue, value);
-
- assertEquals(SdkConstants.NS_RESOURCES, parser.getAttributeNamespace(i));
- assertEquals("android", parser.getAttributePrefix(i));
- }
-
-}