aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com/google/devtools/build/android/DataResourceXmlTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/com/google/devtools/build/android/DataResourceXmlTest.java')
-rw-r--r--src/test/java/com/google/devtools/build/android/DataResourceXmlTest.java40
1 files changed, 39 insertions, 1 deletions
diff --git a/src/test/java/com/google/devtools/build/android/DataResourceXmlTest.java b/src/test/java/com/google/devtools/build/android/DataResourceXmlTest.java
index 653e7b7044..b839b395a4 100644
--- a/src/test/java/com/google/devtools/build/android/DataResourceXmlTest.java
+++ b/src/test/java/com/google/devtools/build/android/DataResourceXmlTest.java
@@ -43,8 +43,10 @@ import com.google.devtools.build.android.xml.AttrXmlResourceValue.IntegerResourc
import com.google.devtools.build.android.xml.AttrXmlResourceValue.ReferenceResourceXmlAttrValue;
import com.google.devtools.build.android.xml.AttrXmlResourceValue.StringResourceXmlAttrValue;
import com.google.devtools.build.android.xml.IdXmlResourceValue;
+import com.google.devtools.build.android.xml.Namespaces;
import com.google.devtools.build.android.xml.PluralXmlResourceValue;
import com.google.devtools.build.android.xml.PublicXmlResourceValue;
+import com.google.devtools.build.android.xml.ResourcesAttribute;
import com.google.devtools.build.android.xml.SimpleXmlResourceValue;
import com.google.devtools.build.android.xml.StyleXmlResourceValue;
import com.google.devtools.build.android.xml.StyleableXmlResourceValue;
@@ -652,6 +654,41 @@ public class DataResourceXmlTest {
}
@Test
+ public void resourcesAttribute() throws Exception {
+ Namespaces namespaces = Namespaces.from(
+ ImmutableMap.of("tools", "http://schemas.android.com/tools"));
+
+ Path path = writeResourceXml(
+ namespaces.asMap(),
+ ImmutableMap.of("tools:foo", "fooVal", "tools:ignore", "ignoreVal"));
+
+ final Map<DataKey, DataResource> toOverwrite = new HashMap<>();
+ final Map<DataKey, DataResource> toCombine = new HashMap<>();
+ parseResourcesFrom(path, toOverwrite, toCombine);
+
+ FullyQualifiedName fooFqn = fqn("<resources>/{http://schemas.android.com/tools}foo");
+ assertThat(toOverwrite)
+ .containsExactly(
+ fooFqn,
+ DataResourceXml.createWithNamespaces(
+ path,
+ ResourcesAttribute.of(fooFqn, "tools:foo", "fooVal"),
+ namespaces)
+ );
+
+ FullyQualifiedName ignoreFqn = fqn("<resources>/{http://schemas.android.com/tools}ignore");
+ assertThat(toCombine)
+ .containsExactly(
+ ignoreFqn,
+ DataResourceXml.createWithNamespaces(
+ path,
+ ResourcesAttribute.of(ignoreFqn, "tools:ignore", "ignoreVal"),
+ namespaces)
+ );
+
+ }
+
+ @Test
public void writeSimpleXmlResources() throws Exception {
Path source =
writeResourceXml(
@@ -986,8 +1023,9 @@ public class DataResourceXmlTest {
Path source = writeResourceXml(
ImmutableMap.of("tools", "http://schemas.android.com/tools"),
ImmutableMap.of("tools:foo", "fooVal"));
+
assertAbout(resourcePaths)
- .that(parsedAndWritten(source, fqn("<resources>/tools:foo")))
+ .that(parsedAndWritten(source, fqn("<resources>/{http://schemas.android.com/tools}foo")))
.xmlContentsIsEqualTo(
resourcesXmlFrom(
ImmutableMap.of("tools", "http://schemas.android.com/tools"),