use of com.android.aapt.Resources.XmlElement in project bundletool by google.
the class XmlProtoElementTest method getChildElement_oneElement.
@Test
public void getChildElement_oneElement() {
XmlElement childElement = XmlElement.newBuilder().setName("child").build();
XmlProtoElement element = new XmlProtoElement(XmlElement.newBuilder().setName("hello").addChild(XmlNode.newBuilder().setElement(childElement)).build());
assertThat(element.getChildElement("child")).isEqualTo(new XmlProtoElement(childElement));
}
use of com.android.aapt.Resources.XmlElement in project bundletool by google.
the class XmlProtoElementTest method getChildElement_withNamespace_manyElements_throws.
@Test
public void getChildElement_withNamespace_manyElements_throws() {
XmlElement childElement = XmlElement.newBuilder().setName("child").setNamespaceUri("namespace").build();
XmlProtoElement element = new XmlProtoElement(XmlElement.newBuilder().setName("hello").addChild(XmlNode.newBuilder().setElement(childElement)).addChild(XmlNode.newBuilder().setElement(childElement)).build());
assertThrows(XmlProtoException.class, () -> element.getChildElement("namespace", "child"));
}
use of com.android.aapt.Resources.XmlElement in project bundletool by google.
the class XmlProtoElementBuilderTest method removeAttribute_nameNotMatching.
@Test
public void removeAttribute_nameNotMatching() {
XmlElement protoElement = XmlElement.newBuilder().addAttribute(XmlAttribute.newBuilder().setName("attribute").setNamespaceUri("namespace")).build();
XmlProtoElementBuilder element = new XmlProtoElementBuilder(protoElement.toBuilder());
element.removeAttribute("namespace", "otherName");
assertThat(element.getProto().build()).isEqualTo(protoElement);
}
use of com.android.aapt.Resources.XmlElement in project bundletool by google.
the class XmlProtoElementBuilderTest method removeSourceDataRecursive.
@Test
public void removeSourceDataRecursive() {
SourcePosition sourcePosition = SourcePosition.newBuilder().setLineNumber(12).setColumnNumber(32).build();
XmlElement element = XmlElement.newBuilder().addAttribute(XmlAttribute.newBuilder().setSource(sourcePosition).setName("name1").setValue("value")).addAttribute(XmlAttribute.newBuilder().setSource(sourcePosition).setName("name2").setValue("value")).addNamespaceDeclaration(XmlNamespace.newBuilder().setSource(sourcePosition).setPrefix("pref").setUri("http://uri")).addChild(XmlNode.newBuilder().setElement(XmlElement.newBuilder().addAttribute(XmlAttribute.newBuilder().setSource(sourcePosition).setName("nested").setValue("another")))).addChild(XmlNode.newBuilder().setSource(sourcePosition).setText("Text1")).addChild(XmlNode.newBuilder().setSource(sourcePosition).setText("Text2")).build();
XmlElement elementWithoutSource = new XmlProtoElementBuilder(element.toBuilder()).removeSourceDataRecursive().build().getProto();
XmlElement expected = XmlElement.newBuilder().addAttribute(XmlAttribute.newBuilder().setName("name1").setValue("value")).addAttribute(XmlAttribute.newBuilder().setName("name2").setValue("value")).addNamespaceDeclaration(XmlNamespace.newBuilder().setPrefix("pref").setUri("http://uri")).addChild(XmlNode.newBuilder().setElement(XmlElement.newBuilder().addAttribute(XmlAttribute.newBuilder().setName("nested").setValue("another")))).addChild(XmlNode.newBuilder().setText("Text1")).addChild(XmlNode.newBuilder().setText("Text2")).build();
assertThat(elementWithoutSource).isEqualTo(expected);
}
use of com.android.aapt.Resources.XmlElement in project bundletool by google.
the class XmlProtoElementBuilderTest method addNamespaceDeclaration.
@Test
public void addNamespaceDeclaration() {
XmlElement protoElement = XmlElement.getDefaultInstance();
XmlProtoElementBuilder element = new XmlProtoElementBuilder(protoElement.toBuilder());
element.addNamespaceDeclaration("ns", "http://namespace");
assertThat(element.getProto().build()).isEqualTo(protoElement.toBuilder().addNamespaceDeclaration(XmlNamespace.newBuilder().setPrefix("ns").setUri("http://namespace")).build());
}
Aggregations