use of com.android.aapt.Resources.XmlElement in project bundletool by google.
the class XmlProtoElementBuilderTest method getAndroidAttribute_duplicate.
@Test
public void getAndroidAttribute_duplicate() {
XmlAttribute attribute = XmlAttribute.newBuilder().setName("attribute").setNamespaceUri("namespace").setResourceId(42).build();
XmlElement protoElement = XmlElement.newBuilder().addAttribute(attribute).addAttribute(attribute).build();
XmlProtoElementBuilder element = new XmlProtoElementBuilder(protoElement.toBuilder());
XmlProtoAttributeBuilder fetchedAttribute = element.getAndroidAttribute(42).get();
assertThat(fetchedAttribute.getProto().build()).isEqualTo(attribute);
assertThat(element.getProto().build()).isEqualTo(protoElement);
}
use of com.android.aapt.Resources.XmlElement in project bundletool by google.
the class XmlProtoElementBuilderTest method getAttribute_duplicate.
@Test
public void getAttribute_duplicate() {
XmlAttribute attribute = XmlAttribute.newBuilder().setName("attribute").setNamespaceUri("namespace").build();
XmlElement protoElement = XmlElement.newBuilder().addAttribute(attribute).addAttribute(attribute).build();
XmlProtoElementBuilder element = new XmlProtoElementBuilder(protoElement.toBuilder());
XmlProtoAttributeBuilder fetchedAttribute = element.getAttribute("namespace", "attribute").get();
assertThat(fetchedAttribute.getProto().build()).isEqualTo(attribute);
assertThat(element.getProto().build()).isEqualTo(protoElement);
}
use of com.android.aapt.Resources.XmlElement in project bundletool by google.
the class XmlProtoElementBuilderTest method getOrCreateChildElement_withNamespace_childDoesNotExist.
@Test
public void getOrCreateChildElement_withNamespace_childDoesNotExist() {
XmlElement protoElement = XmlElement.newBuilder().addChild(XmlNode.newBuilder().setElement(XmlElement.newBuilder().setName("hello"))).build();
XmlProtoElementBuilder element = new XmlProtoElementBuilder(protoElement.toBuilder());
XmlProtoElementBuilder fetchedElement = element.getOrCreateChildElement("namespace", "hello");
assertThat(fetchedElement.getProto().build()).isEqualTo(XmlElement.newBuilder().setName("hello").setNamespaceUri("namespace").build());
assertThat(element.getProto().build()).isEqualTo(protoElement.toBuilder().addChild(XmlNode.newBuilder().setElement(XmlElement.newBuilder().setName("hello").setNamespaceUri("namespace"))).build());
}
use of com.android.aapt.Resources.XmlElement in project bundletool by google.
the class XmlProtoElementBuilderTest method getOrCreateAndroidAttribute_attributeAlreadyExists.
@Test
public void getOrCreateAndroidAttribute_attributeAlreadyExists() {
XmlAttribute attributeNotAndroid = XmlAttribute.newBuilder().setName("attribute").setNamespaceUri("namespace").setResourceId(0x123).build();
XmlAttribute attributeAndroid = XmlAttribute.newBuilder().setName("attribute").setNamespaceUri(ANDROID_NAMESPACE_URI).setResourceId(0x123).build();
XmlAttribute attributeNoNamespace = XmlAttribute.newBuilder().setName("attribute").setResourceId(0x123).build();
XmlElement protoElement = XmlElement.newBuilder().addAttribute(attributeNotAndroid).addAttribute(attributeAndroid).addAttribute(attributeNoNamespace).build();
XmlProtoElementBuilder element = new XmlProtoElementBuilder(protoElement.toBuilder());
XmlProtoAttributeBuilder fetchedAttribute = element.getOrCreateAndroidAttribute("attribute", 0x123);
assertThat(fetchedAttribute.getProto().build()).isEqualTo(attributeAndroid);
assertThat(element.getProto().build()).isEqualTo(protoElement);
}
use of com.android.aapt.Resources.XmlElement in project bundletool by google.
the class XmlProtoElementBuilderTest method getNamespaceDeclarations.
@Test
public void getNamespaceDeclarations() {
XmlElement protoElement = XmlElement.getDefaultInstance();
XmlProtoElementBuilder element = new XmlProtoElementBuilder(protoElement.toBuilder());
element.addNamespaceDeclaration("ns", "http://namespace");
element.addNamespaceDeclaration("ns2", "http://namespace2");
assertThat(element.getNamespaceDeclarations()).containsExactly(XmlProtoNamespace.create("ns", "http://namespace"), XmlProtoNamespace.create("ns2", "http://namespace2"));
}
Aggregations