diff options
author | 2017-05-17 19:14:56 +0200 | |
---|---|---|
committer | 2017-05-19 15:07:43 +0200 | |
commit | ba23f313daf8d0afd8c35ccc72c5661fd897bd5e (patch) | |
tree | 322f19965d38f3040aa00cd636c883c5b721f081 /src/test/java/com/google/devtools/build/android/resources/RClassGeneratorTest.java | |
parent | 98d29f81bafe7ab6b0ff05ade92b4987d7b27bbf (diff) |
Remove the RTxtSymbolEntry in favor of the FieldInitializer class.
RELNOTES: None
PiperOrigin-RevId: 156321468
Diffstat (limited to 'src/test/java/com/google/devtools/build/android/resources/RClassGeneratorTest.java')
-rw-r--r-- | src/test/java/com/google/devtools/build/android/resources/RClassGeneratorTest.java | 51 |
1 files changed, 31 insertions, 20 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 93f3854618..a115001a93 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 @@ -32,6 +32,9 @@ import java.nio.file.Files; import java.nio.file.Path; import java.util.List; import java.util.concurrent.ExecutionException; +import org.hamcrest.BaseMatcher; +import org.hamcrest.Description; +import org.hamcrest.Matcher; import org.junit.Before; import org.junit.Rule; import org.junit.Test; @@ -84,7 +87,7 @@ public class RClassGeneratorTest { Path out = temp.resolve("classes"); Files.createDirectories(out); RClassGenerator writer = RClassGenerator.fromSymbols(out, symbolValues, finalFields); - writer.write("com.bar", symbolsInLibrary.asFilterMap()); + writer.write("com.bar", symbolsInLibrary.asInitializers()); Path packageDir = out.resolve("com/bar"); checkFilesInPackage(packageDir, "R.class", "R$attr.class", "R$id.class", "R$string.class"); @@ -125,7 +128,7 @@ public class RClassGeneratorTest { Path out = temp.resolve("classes"); Files.createDirectories(out); RClassGenerator writer = RClassGenerator.fromSymbols(out, symbolValues, finalFields); - writer.write("com.testEmptyIntArray", symbolsInLibrary.asFilterMap()); + writer.write("com.testEmptyIntArray", symbolsInLibrary.asInitializers()); Path packageDir = out.resolve("com/testEmptyIntArray"); checkFilesInPackage(packageDir, "R.class", "R$styleable.class"); @@ -142,29 +145,37 @@ public class RClassGeneratorTest { finalFields ); } + + static final Matcher<Throwable> NUMBER_FORMAT_EXCEPTION = + new BaseMatcher<Throwable>() { + @Override + public boolean matches(Object item) { + if (item instanceof NumberFormatException) { + return true; + } + return false; + } + + @Override + public void describeTo(Description description) { + description.appendText(NumberFormatException.class.toString()); + } + }; @Test public void corruptIntArraysTrailingComma() throws Exception { - boolean finalFields = true; // Test a few cases of what happens if the R.txt is corrupted. It shouldn't happen unless there // is a bug in aapt, or R.txt is manually written the wrong way. - ResourceSymbols symbolValues = - createSymbolFile("R.txt", "int[] styleable ActionMenuView { 1, }"); - Path out = temp.resolve("classes"); - Files.createDirectories(out); - thrown.expect(NumberFormatException.class); - RClassGenerator.fromSymbols(out, symbolValues, finalFields); + Path path = createFile("R.txt", new String[] {"int[] styleable ActionMenuView { 1, }"}); + thrown.expectCause(NUMBER_FORMAT_EXCEPTION); + ResourceSymbols.load(path, MoreExecutors.newDirectExecutorService()).get(); } @Test public void corruptIntArraysOmittedMiddle() throws Exception { - boolean finalFields = true; - ResourceSymbols symbolValues = - createSymbolFile("R.txt", "int[] styleable ActionMenuView { 1, , 2 }"); - Path out = temp.resolve("classes"); - Files.createDirectories(out); - thrown.expect(NumberFormatException.class); - RClassGenerator.fromSymbols(out, symbolValues, finalFields); + Path path = createFile("R.txt", "int[] styleable ActionMenuView { 1, , 2 }"); + thrown.expectCause(NUMBER_FORMAT_EXCEPTION); + ResourceSymbols.load(path, MoreExecutors.newDirectExecutorService()).get(); } @Test @@ -183,7 +194,7 @@ public class RClassGeneratorTest { Path out = temp.resolve("classes"); Files.createDirectories(out); RClassGenerator writer = RClassGenerator.fromSymbols(out, symbolValues, finalFields); - writer.write("com.foo", symbolsInLibrary.asFilterMap()); + writer.write("com.foo", symbolsInLibrary.asInitializers()); Path packageDir = out.resolve("com/foo"); checkFilesInPackage(packageDir, "R.class", "R$layout.class"); @@ -209,7 +220,7 @@ public class RClassGeneratorTest { Path out = temp.resolve("classes"); Files.createDirectories(out); RClassGenerator writer = RClassGenerator.fromSymbols(out, symbolValues, finalFields); - writer.write("com.foo", symbolsInLibrary.asFilterMap()); + writer.write("com.foo", symbolsInLibrary.asInitializers()); Path packageDir = out.resolve("com/foo"); @@ -252,7 +263,7 @@ public class RClassGeneratorTest { Path out = temp.resolve("classes"); Files.createDirectories(out); RClassGenerator writer = RClassGenerator.fromSymbols(out, symbolValues, finalFields); - writer.write("com.intArray", symbolsInLibrary.asFilterMap()); + writer.write("com.intArray", symbolsInLibrary.asInitializers()); Path packageDir = out.resolve("com/intArray"); checkFilesInPackage(packageDir, "R.class", "R$attr.class", "R$styleable.class"); @@ -305,7 +316,7 @@ public class RClassGeneratorTest { Path out = temp.resolve("classes"); Files.createDirectories(out); RClassGenerator writer = RClassGenerator.fromSymbols(out, symbolValues, finalFields); - writer.write("", symbolsInLibrary.asFilterMap()); + writer.write("", symbolsInLibrary.asInitializers()); Path packageDir = out.resolve(""); checkFilesInPackage(packageDir, "R.class", "R$string.class"); |