diff options
| author | 2015-02-02 21:26:10 -0500 | |
|---|---|---|
| committer | 2015-02-02 21:26:10 -0500 | |
| commit | 448685653e90415ebe10b08e8335462b81c30421 (patch) | |
| tree | 474d9bcc08c2b5441b704595992d3beff1d2587f /test/cuchaz/enigma/TestInnerClasses.java | |
| parent | avoid concurrent modification exception (diff) | |
| download | enigma-fork-448685653e90415ebe10b08e8335462b81c30421.tar.gz enigma-fork-448685653e90415ebe10b08e8335462b81c30421.tar.xz enigma-fork-448685653e90415ebe10b08e8335462b81c30421.zip | |
fix issue with bridge methods
Diffstat (limited to 'test/cuchaz/enigma/TestInnerClasses.java')
| -rw-r--r-- | test/cuchaz/enigma/TestInnerClasses.java | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/test/cuchaz/enigma/TestInnerClasses.java b/test/cuchaz/enigma/TestInnerClasses.java index 51fb5e3..63c9b71 100644 --- a/test/cuchaz/enigma/TestInnerClasses.java +++ b/test/cuchaz/enigma/TestInnerClasses.java | |||
| @@ -23,6 +23,7 @@ import cuchaz.enigma.analysis.JarIndex; | |||
| 23 | public class TestInnerClasses { | 23 | public class TestInnerClasses { |
| 24 | 24 | ||
| 25 | private JarIndex m_index; | 25 | private JarIndex m_index; |
| 26 | private Deobfuscator m_deobfuscator; | ||
| 26 | 27 | ||
| 27 | private static final String AnonymousOuter = "none/a"; | 28 | private static final String AnonymousOuter = "none/a"; |
| 28 | private static final String AnonymousInner = "b"; | 29 | private static final String AnonymousInner = "b"; |
| @@ -32,10 +33,14 @@ public class TestInnerClasses { | |||
| 32 | private static final String ConstructorArgsInner = "f"; | 33 | private static final String ConstructorArgsInner = "f"; |
| 33 | private static final String AnonymousWithScopeArgsOuter = "none/c"; | 34 | private static final String AnonymousWithScopeArgsOuter = "none/c"; |
| 34 | private static final String AnonymousWithScopeArgsInner = "d"; | 35 | private static final String AnonymousWithScopeArgsInner = "d"; |
| 36 | private static final String AnonymousWithOuterAccessOuter = "none/i"; | ||
| 37 | private static final String AnonymousWithOuterAccessInner = "j"; | ||
| 35 | 38 | ||
| 36 | public TestInnerClasses() throws Exception { | 39 | public TestInnerClasses() throws Exception { |
| 37 | m_index = new JarIndex(); | 40 | m_index = new JarIndex(); |
| 38 | m_index.indexJar(new JarFile("build/testInnerClasses.obf.jar"), true); | 41 | JarFile jar = new JarFile("build/testInnerClasses.obf.jar"); |
| 42 | m_index.indexJar(jar, true); | ||
| 43 | m_deobfuscator = new Deobfuscator(jar); | ||
| 39 | } | 44 | } |
| 40 | 45 | ||
| 41 | @Test | 46 | @Test |
| @@ -43,6 +48,7 @@ public class TestInnerClasses { | |||
| 43 | assertThat(m_index.getOuterClass(SimpleInner), is(SimpleOuter)); | 48 | assertThat(m_index.getOuterClass(SimpleInner), is(SimpleOuter)); |
| 44 | assertThat(m_index.getInnerClasses(SimpleOuter), containsInAnyOrder(SimpleInner)); | 49 | assertThat(m_index.getInnerClasses(SimpleOuter), containsInAnyOrder(SimpleInner)); |
| 45 | assertThat(m_index.isAnonymousClass(SimpleInner), is(false)); | 50 | assertThat(m_index.isAnonymousClass(SimpleInner), is(false)); |
| 51 | decompile(SimpleOuter); | ||
| 46 | } | 52 | } |
| 47 | 53 | ||
| 48 | @Test | 54 | @Test |
| @@ -50,6 +56,7 @@ public class TestInnerClasses { | |||
| 50 | assertThat(m_index.getOuterClass(AnonymousInner), is(AnonymousOuter)); | 56 | assertThat(m_index.getOuterClass(AnonymousInner), is(AnonymousOuter)); |
| 51 | assertThat(m_index.getInnerClasses(AnonymousOuter), containsInAnyOrder(AnonymousInner)); | 57 | assertThat(m_index.getInnerClasses(AnonymousOuter), containsInAnyOrder(AnonymousInner)); |
| 52 | assertThat(m_index.isAnonymousClass(AnonymousInner), is(true)); | 58 | assertThat(m_index.isAnonymousClass(AnonymousInner), is(true)); |
| 59 | decompile(AnonymousOuter); | ||
| 53 | } | 60 | } |
| 54 | 61 | ||
| 55 | @Test | 62 | @Test |
| @@ -57,6 +64,7 @@ public class TestInnerClasses { | |||
| 57 | assertThat(m_index.getOuterClass(ConstructorArgsInner), is(ConstructorArgsOuter)); | 64 | assertThat(m_index.getOuterClass(ConstructorArgsInner), is(ConstructorArgsOuter)); |
| 58 | assertThat(m_index.getInnerClasses(ConstructorArgsOuter), containsInAnyOrder(ConstructorArgsInner)); | 65 | assertThat(m_index.getInnerClasses(ConstructorArgsOuter), containsInAnyOrder(ConstructorArgsInner)); |
| 59 | assertThat(m_index.isAnonymousClass(ConstructorArgsInner), is(false)); | 66 | assertThat(m_index.isAnonymousClass(ConstructorArgsInner), is(false)); |
| 67 | decompile(ConstructorArgsOuter); | ||
| 60 | } | 68 | } |
| 61 | 69 | ||
| 62 | @Test | 70 | @Test |
| @@ -64,5 +72,18 @@ public class TestInnerClasses { | |||
| 64 | assertThat(m_index.getOuterClass(AnonymousWithScopeArgsInner), is(AnonymousWithScopeArgsOuter)); | 72 | assertThat(m_index.getOuterClass(AnonymousWithScopeArgsInner), is(AnonymousWithScopeArgsOuter)); |
| 65 | assertThat(m_index.getInnerClasses(AnonymousWithScopeArgsOuter), containsInAnyOrder(AnonymousWithScopeArgsInner)); | 73 | assertThat(m_index.getInnerClasses(AnonymousWithScopeArgsOuter), containsInAnyOrder(AnonymousWithScopeArgsInner)); |
| 66 | assertThat(m_index.isAnonymousClass(AnonymousWithScopeArgsInner), is(true)); | 74 | assertThat(m_index.isAnonymousClass(AnonymousWithScopeArgsInner), is(true)); |
| 75 | decompile(AnonymousWithScopeArgsOuter); | ||
| 76 | } | ||
| 77 | |||
| 78 | @Test | ||
| 79 | public void anonymousWithOuterAccess() { | ||
| 80 | assertThat(m_index.getOuterClass(AnonymousWithOuterAccessInner), is(AnonymousWithOuterAccessOuter)); | ||
| 81 | assertThat(m_index.getInnerClasses(AnonymousWithOuterAccessOuter), containsInAnyOrder(AnonymousWithOuterAccessInner)); | ||
| 82 | assertThat(m_index.isAnonymousClass(AnonymousWithOuterAccessInner), is(true)); | ||
| 83 | decompile(AnonymousWithOuterAccessOuter); | ||
| 84 | } | ||
| 85 | |||
| 86 | private void decompile(String name) { | ||
| 87 | m_deobfuscator.getSourceTree(name); | ||
| 67 | } | 88 | } |
| 68 | } | 89 | } |