diff options
author | Eric Holk <eholk@google.com> | 2018-11-08 14:16:20 -0800 |
---|---|---|
committer | Eric Holk <eholk@google.com> | 2018-11-13 13:41:56 -0800 |
commit | 3cc4afc610ad418cb495a4f3072abc6b4fea51ba (patch) | |
tree | 9702f79529edf60e36aba78319431649257403aa /startop/view_compiler/dex_builder_test | |
parent | 24df195e7833e38401b9c84e48165d96a6bebd7a (diff) |
[view_compiler] DexBuilder: add support for string literals and null pointers
Bug: 111895153
Change-Id: If6bdd9a280f6feed175be4da57733f3442e6dd14
Diffstat (limited to 'startop/view_compiler/dex_builder_test')
-rw-r--r-- | startop/view_compiler/dex_builder_test/src/android/startop/test/DexBuilderTest.java | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/startop/view_compiler/dex_builder_test/src/android/startop/test/DexBuilderTest.java b/startop/view_compiler/dex_builder_test/src/android/startop/test/DexBuilderTest.java index 169c63374cb7..2ccdc6d5b4bf 100644 --- a/startop/view_compiler/dex_builder_test/src/android/startop/test/DexBuilderTest.java +++ b/startop/view_compiler/dex_builder_test/src/android/startop/test/DexBuilderTest.java @@ -82,4 +82,38 @@ public class DexBuilderTest { Method method = clazz.getMethod("backwardsBranch"); Assert.assertEquals(2, method.invoke(null)); } + + @Test + public void returnNull() throws Exception { + ClassLoader loader = loadDexFile("simple.dex"); + Class clazz = loader.loadClass("android.startop.test.testcases.SimpleTests"); + Method method = clazz.getMethod("returnNull"); + Assert.assertEquals(null, method.invoke(null)); + } + + @Test + public void makeString() throws Exception { + ClassLoader loader = loadDexFile("simple.dex"); + Class clazz = loader.loadClass("android.startop.test.testcases.SimpleTests"); + Method method = clazz.getMethod("makeString"); + Assert.assertEquals("Hello, World!", method.invoke(null)); + } + + @Test + public void returnStringIfZeroAB() throws Exception { + ClassLoader loader = loadDexFile("simple.dex"); + Class clazz = loader.loadClass("android.startop.test.testcases.SimpleTests"); + Method method = clazz.getMethod("returnStringIfZeroAB", int.class); + Assert.assertEquals("a", method.invoke(null, 0)); + Assert.assertEquals("b", method.invoke(null, 1)); + } + + @Test + public void returnStringIfZeroBA() throws Exception { + ClassLoader loader = loadDexFile("simple.dex"); + Class clazz = loader.loadClass("android.startop.test.testcases.SimpleTests"); + Method method = clazz.getMethod("returnStringIfZeroBA", int.class); + Assert.assertEquals("b", method.invoke(null, 0)); + Assert.assertEquals("a", method.invoke(null, 1)); + } } |