Skip to content

Commit

Permalink
Add support for <item> elements in dimension resource files.
Browse files Browse the repository at this point in the history
Closes #987. Closes #977.
  • Loading branch information
Pawel Byszewski authored and erd committed Feb 28, 2014
1 parent 72fb90a commit db90fed
Show file tree
Hide file tree
Showing 3 changed files with 21 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ private void loadEverything() throws Exception {
new ValueResourceLoader(data, "/resources/bool", "bool", ResType.BOOLEAN),
new ValueResourceLoader(data, "/resources/color", "color", ResType.COLOR),
new ValueResourceLoader(data, "/resources/dimen", "dimen", ResType.DIMEN),
new ValueResourceLoader(data, "/resources/item[@type='dimen']", "dimen", ResType.DIMEN),
new ValueResourceLoader(data, "/resources/integer", "integer", ResType.INTEGER),
new ValueResourceLoader(data, "/resources/integer-array", "array", ResType.INTEGER_ARRAY),
new ValueResourceLoader(data, "/resources/item", "layout", ResType.LAYOUT),
Expand Down
15 changes: 15 additions & 0 deletions src/test/java/org/robolectric/res/PackageResourceLoaderTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,19 @@ public void shouldLoadResourcesFromGradleOutputDirectories() {
assertThat(value.asString()).isEqualTo("string example taken from gradle output directory");
}

@Test
public void shouldLoadDimenResourcesFromGradleOutputDirectoriesDefinedByDimenTag() {
PackageResourceLoader loader = new PackageResourceLoader(gradleAppResources());
TypedResource value = loader.getValue(new ResName("org.robolectric.gradleapp", "dimen", "example_dimen"), "");
assertThat(value).describedAs("Dimen from gradle output is not loaded").isNotNull();
assertThat(value.asString()).isEqualTo("8dp");
}

@Test
public void shouldLoadDimenResourcesFromGradleOutputDirectoriesDefinedByItemTag() {
PackageResourceLoader loader = new PackageResourceLoader(gradleAppResources());
TypedResource value = loader.getValue(new ResName("org.robolectric.gradleapp", "dimen", "example_item_dimen"), "");
assertThat(value).describedAs("Item dimen from gradle output is not loaded").isNotNull();
assertThat(value.asString()).isEqualTo("3.14");
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<item name="example_item_dimen" format="integer" type="dimen">3.14</item>
<dimen name="example_dimen">8dp</dimen>
</resources>

0 comments on commit db90fed

Please sign in to comment.