Search in sources :

Example 21 with XmlElement

use of com.android.aapt.Resources.XmlElement in project bundletool by google.

the class XmlProtoElementBuilderTest method getOrCreateAttribute_withNamespace_attributeAlreadyExists.

@Test
public void getOrCreateAttribute_withNamespace_attributeAlreadyExists() {
    XmlAttribute attribute = XmlAttribute.newBuilder().setName("attribute").setNamespaceUri("namespace").build();
    XmlElement protoElement = XmlElement.newBuilder().addAttribute(attribute).build();
    XmlProtoElementBuilder element = new XmlProtoElementBuilder(protoElement.toBuilder());
    XmlProtoAttributeBuilder fetchedAttribute = element.getOrCreateAttribute("namespace", "attribute");
    assertThat(fetchedAttribute.getProto().build()).isEqualTo(attribute);
    assertThat(element.getProto().build()).isEqualTo(protoElement);
}
Also used : XmlAttribute(com.android.aapt.Resources.XmlAttribute) XmlElement(com.android.aapt.Resources.XmlElement) Test(org.junit.Test)

Example 22 with XmlElement

use of com.android.aapt.Resources.XmlElement in project bundletool by google.

the class XmlProtoElementBuilderTest method getOrCreateChildElement_childDoesNotExist.

@Test
public void getOrCreateChildElement_childDoesNotExist() {
    XmlElement protoElement = XmlElement.newBuilder().addChild(XmlNode.newBuilder().setElement(XmlElement.newBuilder().setName("hello").setNamespaceUri("namespace"))).build();
    XmlProtoElementBuilder element = new XmlProtoElementBuilder(protoElement.toBuilder());
    XmlProtoElementBuilder fetchedElement = element.getOrCreateChildElement("hello");
    assertThat(fetchedElement.getProto().build()).isEqualTo(XmlElement.newBuilder().setName("hello").build());
    assertThat(element.getProto().build()).isEqualTo(protoElement.toBuilder().addChild(XmlNode.newBuilder().setElement(XmlElement.newBuilder().setName("hello"))).build());
}
Also used : XmlElement(com.android.aapt.Resources.XmlElement) Test(org.junit.Test)

Example 23 with XmlElement

use of com.android.aapt.Resources.XmlElement in project bundletool by google.

the class XmlProtoElementTest method getChildrenElements_withName.

@Test
public void getChildrenElements_withName() {
    XmlElement childElement1 = XmlElement.newBuilder().setName("child").build();
    XmlElement childElement2 = XmlElement.newBuilder().setName("child").addAttribute(XmlAttribute.newBuilder().setName("test")).build();
    XmlProtoElement element = new XmlProtoElement(XmlElement.newBuilder().addChild(XmlNode.newBuilder().setElement(childElement1)).addChild(XmlNode.newBuilder().setElement(XmlElement.newBuilder().setName("other"))).addChild(XmlNode.newBuilder().setElement(childElement2)).addChild(XmlNode.newBuilder().setElement(childElement1.toBuilder().setNamespaceUri("namespace"))).build());
    assertThat(element.getChildrenElements("child")).containsExactly(new XmlProtoElement(childElement1), new XmlProtoElement(childElement2));
}
Also used : XmlElement(com.android.aapt.Resources.XmlElement) Test(org.junit.Test)

Example 24 with XmlElement

use of com.android.aapt.Resources.XmlElement in project bundletool by google.

the class XmlProtoElementTest method getChildElement_withNamespace_oneElement.

@Test
public void getChildElement_withNamespace_oneElement() {
    XmlElement childElement = XmlElement.newBuilder().setName("child").setNamespaceUri("namespace").build();
    XmlProtoElement element = new XmlProtoElement(XmlElement.newBuilder().setName("hello").addChild(XmlNode.newBuilder().setElement(childElement)).build());
    assertThat(element.getChildElement("namespace", "child")).isEqualTo(new XmlProtoElement(childElement));
}
Also used : XmlElement(com.android.aapt.Resources.XmlElement) Test(org.junit.Test)

Example 25 with XmlElement

use of com.android.aapt.Resources.XmlElement in project bundletool by google.

the class XmlProtoElementTest method getOptionalChildElement_oneElement.

@Test
public void getOptionalChildElement_oneElement() {
    XmlElement childElement = XmlElement.newBuilder().setName("child").build();
    XmlProtoElement element = new XmlProtoElement(XmlElement.newBuilder().setName("hello").addChild(XmlNode.newBuilder().setElement(childElement)).build());
    assertThat(element.getOptionalChildElement("child")).hasValue(new XmlProtoElement(childElement));
}
Also used : XmlElement(com.android.aapt.Resources.XmlElement) Test(org.junit.Test)

Aggregations

XmlElement (com.android.aapt.Resources.XmlElement)67 Test (org.junit.Test)65 XmlNode (com.android.aapt.Resources.XmlNode)27 XmlAttribute (com.android.aapt.Resources.XmlAttribute)10 BundleModule (com.android.tools.build.bundletool.model.BundleModule)4 ModuleSplit (com.android.tools.build.bundletool.model.ModuleSplit)4 BundleModuleBuilder (com.android.tools.build.bundletool.testing.BundleModuleBuilder)4 ImmutableList (com.google.common.collect.ImmutableList)4 ImmutableList.toImmutableList (com.google.common.collect.ImmutableList.toImmutableList)4 Truth.assertThat (com.google.common.truth.Truth.assertThat)4 Truth8.assertThat (com.google.common.truth.Truth8.assertThat)4 ProtoTruth.assertThat (com.google.common.truth.extensions.proto.ProtoTruth.assertThat)4 RunWith (org.junit.runner.RunWith)4 JUnit4 (org.junit.runners.JUnit4)4 SourcePosition (com.android.aapt.Resources.SourcePosition)3 XmlNamespace (com.android.aapt.Resources.XmlNamespace)2 TestData (com.android.tools.build.bundletool.TestData)2 AndroidManifest (com.android.tools.build.bundletool.model.AndroidManifest)2 ACTIVITY_ELEMENT_NAME (com.android.tools.build.bundletool.model.AndroidManifest.ACTIVITY_ELEMENT_NAME)2 ALLOW_BACKUP_ATTRIBUTE_NAME (com.android.tools.build.bundletool.model.AndroidManifest.ALLOW_BACKUP_ATTRIBUTE_NAME)2