diff options
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/manifest/model/UiElementNodeTest.java')
-rw-r--r-- | eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/manifest/model/UiElementNodeTest.java | 284 |
1 files changed, 0 insertions, 284 deletions
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 deleted file mode 100644 index d19f933d0..000000000 --- a/eclipse/plugins/com.android.ide.eclipse.tests/unittests/com/android/ide/eclipse/adt/internal/editors/manifest/model/UiElementNodeTest.java +++ /dev/null @@ -1,284 +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.manifest.model; - -import com.android.SdkConstants; -import com.android.ide.eclipse.adt.internal.editors.descriptors.ElementDescriptor; -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 com.android.utils.XmlUtils; - -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; - -@SuppressWarnings("javadoc") -public class UiElementNodeTest extends TestCase { - - private UiElementNode ui; - private ElementDescriptor mManifestDesc; - private ElementDescriptor mAppDesc; - private ElementDescriptor mUsesSdkDesc; - - @Override - protected void setUp() throws Exception { - mAppDesc = new ElementDescriptor("application", new ElementDescriptor[] { - new ElementDescriptor("provider"), - new ElementDescriptor("activity", new ElementDescriptor[] { - new ElementDescriptor("intent-filter") - }), - }, Mandatory.MANDATORY_LAST); - - mUsesSdkDesc = new ElementDescriptor("uses-sdk", new ElementDescriptor[] {}, - Mandatory.MANDATORY); - - mManifestDesc = new ElementDescriptor("manifest", new ElementDescriptor[] { - mAppDesc, - mUsesSdkDesc, - new ElementDescriptor("permission") - }, Mandatory.MANDATORY); - - ui = new UiElementNode(mManifestDesc); - - super.setUp(); - } - - @Override - protected void tearDown() throws Exception { - super.tearDown(); - // pass - } - - /** - * Check initialization values for ui node - */ - public void testInit() { - assertSame(mManifestDesc, ui.getDescriptor()); - assertNull(ui.getUiParent()); - assertEquals(0, ui.getUiChildren().size()); - assertEquals(0, ui.getAllUiAttributes().size()); - } - - /** - * We declared the descriptors as having a "mandatory last" application element - * and a mandatory non-last uses-sdk element. This means if we create an empty - * UiModel, we should get these two created, with the application element after - * the uses-sdk. - */ - public void testMandatoryOrder() { - // Add the mandatory nodes with no XML backing, do it explicitly in the wrong order. - assertEquals(0, ui.getUiChildren().size()); - ui.appendNewUiChild(mAppDesc); - ui.appendNewUiChild(mUsesSdkDesc); - - assertEquals(2, ui.getUiChildren().size()); - assertSame(mAppDesc, ui.getUiChildren().get(0).getDescriptor()); - assertSame(mUsesSdkDesc, ui.getUiChildren().get(1).getDescriptor()); - - // Parse an XML with just a manifest. - MockXmlNode root = new MockXmlNode(null /* namespace */, "manifest", Node.ELEMENT_NODE, - new MockXmlNode[] { - new MockXmlNode(null /* namespace */, "application", Node.ELEMENT_NODE, null) - }); - - ui.loadFromXmlNode(root); - - // We should get 2 children, the 2 mandatory nodes but this time with uses-sdk - // before application since it's a mandatory-last so it "moves" to the end if possible. - assertEquals(2, ui.getUiChildren().size()); - assertSame(mUsesSdkDesc, ui.getUiChildren().get(0).getDescriptor()); - assertNull(ui.getUiChildren().get(0).getXmlNode()); - assertSame(mAppDesc, ui.getUiChildren().get(1).getDescriptor()); - assertNotNull(ui.getUiChildren().get(1).getXmlNode()); - } - - /** - * loadFrom() does nothing if the root node doesn't match what's expected - */ - public void testLoadFrom_InvalidRoot() { - assertEquals(0, ui.getUiChildren().size()); - MockXmlNode root = new MockXmlNode(null /* namespace */, "blah", Node.ELEMENT_NODE, null); - ui.loadFromXmlNode(root); - assertEquals(0, ui.getUiChildren().size()); - } - - /** - * UiElementNode.loadFrom should be used to populate an empty ui node from an - * existing XML node tree. - */ - public void testLoadFrom_NewTree_1_Node() { - MockXmlNode root = new MockXmlNode(null /* namespace */, "manifest", Node.ELEMENT_NODE, - new MockXmlNode[] { - new MockXmlNode(null /* namespace */, "application", Node.ELEMENT_NODE, null) - }); - - // get /manifest - ui.loadFromXmlNode(root); - assertEquals("manifest", ui.getDescriptor().getXmlName()); - assertEquals(1, ui.getUiChildren().size()); - assertEquals(0, ui.getAllUiAttributes().size()); - - // get /manifest/application - Iterator<UiElementNode> ui_child_it = ui.getUiChildren().iterator(); - UiElementNode application = ui_child_it.next(); - assertEquals("application", application.getDescriptor().getXmlName()); - assertEquals(0, application.getUiChildren().size()); - assertEquals(0, application.getAllUiAttributes().size()); - } - - - public void testLoadFrom_NewTree_2_Nodes() { - MockXmlNode root = new MockXmlNode(null /* namespace */, "manifest", Node.ELEMENT_NODE, - new MockXmlNode[] { - new MockXmlNode(null /* namespace */, "application", Node.ELEMENT_NODE, null), - new MockXmlNode(null /* namespace */, "permission", Node.ELEMENT_NODE, null), - }); - - // get /manifest - ui.loadFromXmlNode(root); - assertEquals("manifest", ui.getDescriptor().getXmlName()); - assertEquals(2, ui.getUiChildren().size()); - assertEquals(0, ui.getAllUiAttributes().size()); - - // get /manifest/application - Iterator<UiElementNode> ui_child_it = ui.getUiChildren().iterator(); - UiElementNode application = ui_child_it.next(); - assertEquals("application", application.getDescriptor().getXmlName()); - assertEquals(0, application.getUiChildren().size()); - assertEquals(0, application.getAllUiAttributes().size()); - assertEquals(0, application.getUiSiblingIndex()); - - // get /manifest/permission - UiElementNode first_permission = ui_child_it.next(); - assertEquals("permission", first_permission.getDescriptor().getXmlName()); - assertEquals(0, first_permission.getUiChildren().size()); - assertEquals(0, first_permission.getAllUiAttributes().size()); - assertEquals(1, first_permission.getUiSiblingIndex()); - } - - public void testLoadFrom_NewTree_N_Nodes() { - MockXmlNode root = new MockXmlNode(null /* namespace */, "manifest", Node.ELEMENT_NODE, - new MockXmlNode[] { - new MockXmlNode(null /* namespace */, "application", Node.ELEMENT_NODE, - new MockXmlNode[] { - new MockXmlNode(null /* namespace */, "activity", Node.ELEMENT_NODE, - null), - new MockXmlNode(null /* namespace */, "activity", Node.ELEMENT_NODE, - new MockXmlNode[] { - new MockXmlNode(null /* namespace */, "intent-filter", - Node.ELEMENT_NODE, null), - }), - new MockXmlNode(null /* namespace */, "provider", Node.ELEMENT_NODE, - null), - new MockXmlNode(null /* namespace */, "provider", Node.ELEMENT_NODE, - null), - }), - new MockXmlNode(null /* namespace */, "permission", Node.ELEMENT_NODE, - null), - new MockXmlNode(null /* namespace */, "permission", Node.ELEMENT_NODE, - null), - }); - - // get /manifest - ui.loadFromXmlNode(root); - assertEquals("manifest", ui.getDescriptor().getXmlName()); - assertEquals(3, ui.getUiChildren().size()); - assertEquals(0, ui.getAllUiAttributes().size()); - - // get /manifest/application - Iterator<UiElementNode> ui_child_it = ui.getUiChildren().iterator(); - UiElementNode application = ui_child_it.next(); - assertEquals("application", application.getDescriptor().getXmlName()); - assertEquals(4, application.getUiChildren().size()); - assertEquals(0, application.getAllUiAttributes().size()); - - // get /manifest/application/activity #1 - Iterator<UiElementNode> app_child_it = application.getUiChildren().iterator(); - UiElementNode first_activity = app_child_it.next(); - assertEquals("activity", first_activity.getDescriptor().getXmlName()); - assertEquals(0, first_activity.getUiChildren().size()); - assertEquals(0, first_activity.getAllUiAttributes().size()); - - // get /manifest/application/activity #2 - UiElementNode second_activity = app_child_it.next(); - assertEquals("activity", second_activity.getDescriptor().getXmlName()); - assertEquals(1, second_activity.getUiChildren().size()); - assertEquals(0, second_activity.getAllUiAttributes().size()); - - // get /manifest/application/activity #2/intent-filter #1 - Iterator<UiElementNode> activity_child_it = second_activity.getUiChildren().iterator(); - UiElementNode intent_filter = activity_child_it.next(); - assertEquals("intent-filter", intent_filter.getDescriptor().getXmlName()); - assertEquals(0, intent_filter.getUiChildren().size()); - assertEquals(0, intent_filter.getAllUiAttributes().size()); - - // get /manifest/application/provider #1 - UiElementNode first_provider = app_child_it.next(); - assertEquals("provider", first_provider.getDescriptor().getXmlName()); - assertEquals(0, first_provider.getUiChildren().size()); - assertEquals(0, first_provider.getAllUiAttributes().size()); - - // get /manifest/application/provider #2 - UiElementNode second_provider = app_child_it.next(); - assertEquals("provider", second_provider.getDescriptor().getXmlName()); - assertEquals(0, second_provider.getUiChildren().size()); - assertEquals(0, second_provider.getAllUiAttributes().size()); - - // get /manifest/permission #1 - UiElementNode first_permission = ui_child_it.next(); - assertEquals("permission", first_permission.getDescriptor().getXmlName()); - assertEquals(0, first_permission.getUiChildren().size()); - assertEquals(0, first_permission.getAllUiAttributes().size()); - - // get /manifest/permission #1 - UiElementNode second_permission = ui_child_it.next(); - assertEquals("permission", second_permission.getDescriptor().getXmlName()); - assertEquals(0, second_permission.getUiChildren().size()); - assertEquals(0, second_permission.getAllUiAttributes().size()); - } - - public void testCreateNameSpace() 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"); - 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 = XmlUtils.lookupNamespacePrefix(baz, SdkConstants.ANDROID_URI); - assertEquals("android", prefix); - } -} |