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(SdkConstants.XMLNS_URI, "xmlns:customPrefix");
    attr.setValue(SdkConstants.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 = XmlUtils.lookupNamespacePrefix(baz, SdkConstants.ANDROID_URI);
    assertEquals("customPrefix", prefix);

    prefix =
        XmlUtils.lookupNamespacePrefix(baz, "http://schemas.android.com/tools", "tools", false);
    assertEquals("tools", prefix);

    prefix =
        XmlUtils.lookupNamespacePrefix(
            baz, "http://schemas.android.com/apk/res/my/pkg", "app", false);
    assertEquals("app", prefix);
    assertFalse(declaresNamespace(document, "http://schemas.android.com/apk/res/my/pkg"));

    prefix =
        XmlUtils.lookupNamespacePrefix(
            baz, "http://schemas.android.com/apk/res/my/pkg", "app", true /*create*/);
    assertEquals("app", prefix);
    assertTrue(declaresNamespace(document, "http://schemas.android.com/apk/res/my/pkg"));
  }