summaryrefslogtreecommitdiff
path: root/test/cuchaz/enigma/TestInnerClasses.java
diff options
context:
space:
mode:
authorGravatar jeff2015-02-02 21:26:10 -0500
committerGravatar jeff2015-02-02 21:26:10 -0500
commit448685653e90415ebe10b08e8335462b81c30421 (patch)
tree474d9bcc08c2b5441b704595992d3beff1d2587f /test/cuchaz/enigma/TestInnerClasses.java
parentavoid concurrent modification exception (diff)
downloadenigma-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.java23
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;
23public class TestInnerClasses { 23public 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}