use of com.android.aapt.Resources.XmlAttribute 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.XmlAttribute 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.XmlAttribute 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.XmlAttribute in project bundletool by google.
the class XmlProtoElementTest method getAttribute_attributeDoesNotExist.
@Test
public void getAttribute_attributeDoesNotExist() {
XmlAttribute attribute = XmlAttribute.newBuilder().setName("attribute1").build();
XmlProtoElement element = new XmlProtoElement(XmlElement.newBuilder().setName("hello").addAttribute(attribute).build());
assertThat(element.getAttribute("attribute2")).isEmpty();
assertThat(element.getAttribute("namespace", "attribute1")).isEmpty();
}
use of com.android.aapt.Resources.XmlAttribute in project bundletool by google.
the class XmlProtoElementTest method getAttribute_withName.
@Test
public void getAttribute_withName() {
XmlAttribute attribute1 = XmlAttribute.newBuilder().setName("attribute1").build();
XmlAttribute attribute2 = XmlAttribute.newBuilder().setName("attribute1").setNamespaceUri("namespace").build();
XmlAttribute attribute3 = XmlAttribute.newBuilder().setName("attribute2").build();
XmlProtoElement element = new XmlProtoElement(XmlElement.newBuilder().setName("hello").addAttribute(attribute1).addAttribute(attribute2).addAttribute(attribute3).build());
assertThat(element.getAttribute("attribute1")).hasValue(new XmlProtoAttribute(attribute1));
}
Aggregations