aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java/com
diff options
context:
space:
mode:
authorGravatar corysmith <corysmith@google.com>2017-04-25 17:33:48 +0200
committerGravatar Vladimir Moskva <vladmos@google.com>2017-04-25 20:38:40 +0200
commit641318ac48dd4f110184c42b4b75485ee61416a8 (patch)
tree8eb64d4739516a2e115544a94551201bd29ba70a /src/test/java/com
parenta900f00e5f83d859bd404aa79bc9281b2886ae00 (diff)
Automated g4 rollback of commit 3c0bb56a74478cff675b636d5bf605a652451739.
*** Reason for rollback *** Rolling forward with a fix to avoid writing all resources to empty libraries. *** Original change description *** Automated g4 rollback of commit bdf0230534a59dab954ee76c5bf640394c88984e. *** Reason for rollback *** Causes issues with library R generation. *** Original change description *** Refactor the RClassGenerator to be reusable for different packages. RELNOTES: None PiperOrigin-RevId: 154175593
Diffstat (limited to 'src/test/java/com')
-rw-r--r--src/test/java/com/google/devtools/build/android/resources/RClassGeneratorTest.java63
1 files changed, 32 insertions, 31 deletions
diff --git a/src/test/java/com/google/devtools/build/android/resources/RClassGeneratorTest.java b/src/test/java/com/google/devtools/build/android/resources/RClassGeneratorTest.java
index 894afb4162..e556dd4d72 100644
--- a/src/test/java/com/google/devtools/build/android/resources/RClassGeneratorTest.java
+++ b/src/test/java/com/google/devtools/build/android/resources/RClassGeneratorTest.java
@@ -87,9 +87,8 @@ public class RClassGeneratorTest {
"lib.R.txt", "int attr agility 0x1", "int id someTextView 0x1", "int string ok 0x1");
Path out = temp.resolve("classes");
Files.createDirectories(out);
- RClassGenerator writer = RClassGenerator.fromSymbols(
- out, "com.bar", symbolValues, ImmutableList.of(symbolsInLibrary), finalFields);
- writer.write();
+ RClassGenerator writer = RClassGenerator.fromSymbols(out, symbolValues, finalFields);
+ writer.write("com.bar", symbolsInLibrary.asFilterMap());
Path packageDir = out.resolve("com/bar");
checkFilesInPackage(packageDir, "R.class", "R$attr.class", "R$id.class", "R$string.class");
@@ -129,9 +128,8 @@ public class RClassGeneratorTest {
ResourceSymbols symbolsInLibrary = symbolValues;
Path out = temp.resolve("classes");
Files.createDirectories(out);
- RClassGenerator writer = RClassGenerator.fromSymbols(out, "com.testEmptyIntArray",
- symbolValues, ImmutableList.of(symbolsInLibrary), finalFields);
- writer.write();
+ RClassGenerator writer = RClassGenerator.fromSymbols(out, symbolValues, finalFields);
+ writer.write("com.testEmptyIntArray", symbolsInLibrary.asFilterMap());
Path packageDir = out.resolve("com/testEmptyIntArray");
checkFilesInPackage(packageDir, "R.class", "R$styleable.class");
@@ -160,9 +158,8 @@ public class RClassGeneratorTest {
Path out = temp.resolve("classes");
Files.createDirectories(out);
thrown.expect(NumberFormatException.class);
- RClassGenerator writer = RClassGenerator.fromSymbols(out, "com.foo",
- symbolValues, ImmutableList.of(symbolsInLibrary), finalFields);
- writer.write();
+ RClassGenerator writer = RClassGenerator.fromSymbols(out, symbolValues, finalFields);
+ writer.write("com.foo", symbolsInLibrary.asFilterMap());
}
@Test
@@ -174,9 +171,8 @@ public class RClassGeneratorTest {
Path out = temp.resolve("classes");
Files.createDirectories(out);
thrown.expect(NumberFormatException.class);
- RClassGenerator writer = RClassGenerator.fromSymbols(out, "com.foo",
- symbolValues, ImmutableList.of(symbolsInLibrary), finalFields);
- writer.write();
+ RClassGenerator writer = RClassGenerator.fromSymbols(out, symbolValues, finalFields);
+ writer.write("com.foo", symbolsInLibrary.asFilterMap());
}
@Test
@@ -194,24 +190,15 @@ public class RClassGeneratorTest {
"int layout stubbable_activity 0x1");
Path out = temp.resolve("classes");
Files.createDirectories(out);
- RClassGenerator writer = RClassGenerator.fromSymbols(out, "com.foo",
- symbolValues, ImmutableList.of(symbolsInLibrary), finalFields);
- writer.write();
+ RClassGenerator writer = RClassGenerator.fromSymbols(out, symbolValues, finalFields);
+ writer.write("com.foo", symbolsInLibrary.asFilterMap());
Path packageDir = out.resolve("com/foo");
- checkFilesInPackage(packageDir, "R.class", "R$id.class", "R$layout.class");
+ checkFilesInPackage(packageDir, "R.class", "R$layout.class");
Class<?> outerClass = checkTopLevelClass(out,
"com.foo.R",
- "com.foo.R$id",
"com.foo.R$layout");
checkInnerClass(out,
- "com.foo.R$id",
- outerClass,
- ImmutableMap.<String, Integer>of(),
- ImmutableMap.<String, List<Integer>>of(),
- finalFields
- );
- checkInnerClass(out,
"com.foo.R$layout",
outerClass,
ImmutableMap.of("stubbable_activity", 0x7f020000),
@@ -219,6 +206,23 @@ public class RClassGeneratorTest {
finalFields
);
}
+
+ @Test
+ public void writeNothingWithNoResources() throws Exception {
+ boolean finalFields = true;
+ // Test what happens if the library R.txt has no elements.
+ ResourceSymbols symbolValues =
+ createSymbolFile("R.txt", "int layout stubbable_activity 0x7f020000");
+ ResourceSymbols symbolsInLibrary = createSymbolFile("lib.R.txt");
+ Path out = temp.resolve("classes");
+ Files.createDirectories(out);
+ RClassGenerator writer = RClassGenerator.fromSymbols(out, symbolValues, finalFields);
+ writer.write("com.foo", symbolsInLibrary.asFilterMap());
+
+ Path packageDir = out.resolve("com/foo");
+
+ checkFilesInPackage(packageDir);
+ }
@Test
public void intArraysFinal() throws Exception {
@@ -255,9 +259,8 @@ public class RClassGeneratorTest {
ResourceSymbols symbolsInLibrary = symbolValues;
Path out = temp.resolve("classes");
Files.createDirectories(out);
- RClassGenerator writer = RClassGenerator.fromSymbols(
- out, "com.intArray", symbolValues, ImmutableList.of(symbolsInLibrary), finalFields);
- writer.write();
+ RClassGenerator writer = RClassGenerator.fromSymbols(out, symbolValues, finalFields);
+ writer.write("com.intArray", symbolsInLibrary.asFilterMap());
Path packageDir = out.resolve("com/intArray");
checkFilesInPackage(packageDir, "R.class", "R$attr.class", "R$styleable.class");
@@ -309,10 +312,8 @@ public class RClassGeneratorTest {
ResourceSymbols symbolsInLibrary = symbolValues;
Path out = temp.resolve("classes");
Files.createDirectories(out);
- RClassGenerator writer =
- RClassGenerator.fromSymbols(
- out, "", symbolValues, ImmutableList.of(symbolsInLibrary), finalFields);
- writer.write();
+ RClassGenerator writer = RClassGenerator.fromSymbols(out, symbolValues, finalFields);
+ writer.write("", symbolsInLibrary.asFilterMap());
Path packageDir = out.resolve("");
checkFilesInPackage(packageDir, "R.class", "R$string.class");