diff options
author | 2017-04-25 17:33:48 +0200 | |
---|---|---|
committer | 2017-04-25 20:38:40 +0200 | |
commit | 641318ac48dd4f110184c42b4b75485ee61416a8 (patch) | |
tree | 8eb64d4739516a2e115544a94551201bd29ba70a /src/test/java/com | |
parent | a900f00e5f83d859bd404aa79bc9281b2886ae00 (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.java | 63 |
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"); |