diff options
| author | 2017-03-07 21:24:39 +0100 | |
|---|---|---|
| committer | 2017-03-07 21:30:02 +0100 | |
| commit | b4aaff683d78ab92b83f3a7257c33b8e27d1affa (patch) | |
| tree | f23c9bb0927d83cc7302881266b7df8fd37959c7 /src/test/java/cuchaz/enigma/TestInnerClasses.java | |
| parent | Avoid crash of the matcher when the obf name is invalid (set a deob it using ... (diff) | |
| download | enigma-fork-b4aaff683d78ab92b83f3a7257c33b8e27d1affa.tar.gz enigma-fork-b4aaff683d78ab92b83f3a7257c33b8e27d1affa.tar.xz enigma-fork-b4aaff683d78ab92b83f3a7257c33b8e27d1affa.zip | |
Drop unix case style and implement hashCode when equals is overrided
Also update Guava to version 21
Diffstat (limited to 'src/test/java/cuchaz/enigma/TestInnerClasses.java')
| -rw-r--r-- | src/test/java/cuchaz/enigma/TestInnerClasses.java | 66 |
1 files changed, 33 insertions, 33 deletions
diff --git a/src/test/java/cuchaz/enigma/TestInnerClasses.java b/src/test/java/cuchaz/enigma/TestInnerClasses.java index 70765e3..64a695a 100644 --- a/src/test/java/cuchaz/enigma/TestInnerClasses.java +++ b/src/test/java/cuchaz/enigma/TestInnerClasses.java | |||
| @@ -24,8 +24,8 @@ import cuchaz.enigma.mapping.ClassEntry; | |||
| 24 | 24 | ||
| 25 | public class TestInnerClasses { | 25 | public class TestInnerClasses { |
| 26 | 26 | ||
| 27 | private JarIndex m_index; | 27 | private JarIndex index; |
| 28 | private Deobfuscator m_deobfuscator; | 28 | private Deobfuscator deobfuscator; |
| 29 | 29 | ||
| 30 | private static final ClassEntry AnonymousOuter = newClass("a"); | 30 | private static final ClassEntry AnonymousOuter = newClass("a"); |
| 31 | private static final ClassEntry AnonymousInner = newClass("a$1"); | 31 | private static final ClassEntry AnonymousInner = newClass("a$1"); |
| @@ -44,49 +44,49 @@ public class TestInnerClasses { | |||
| 44 | 44 | ||
| 45 | public TestInnerClasses() | 45 | public TestInnerClasses() |
| 46 | throws Exception { | 46 | throws Exception { |
| 47 | m_index = new JarIndex(); | 47 | index = new JarIndex(); |
| 48 | JarFile jar = new JarFile("build/test-obf/innerClasses.jar"); | 48 | JarFile jar = new JarFile("build/test-obf/innerClasses.jar"); |
| 49 | m_index.indexJar(jar, true); | 49 | index.indexJar(jar, true); |
| 50 | m_deobfuscator = new Deobfuscator(jar); | 50 | deobfuscator = new Deobfuscator(jar); |
| 51 | } | 51 | } |
| 52 | 52 | ||
| 53 | @Test | 53 | @Test |
| 54 | public void simple() { | 54 | public void simple() { |
| 55 | assertThat(m_index.getOuterClass(SimpleInner), is(SimpleOuter)); | 55 | assertThat(index.getOuterClass(SimpleInner), is(SimpleOuter)); |
| 56 | assertThat(m_index.getInnerClasses(SimpleOuter), containsInAnyOrder(SimpleInner)); | 56 | assertThat(index.getInnerClasses(SimpleOuter), containsInAnyOrder(SimpleInner)); |
| 57 | assertThat(m_index.isAnonymousClass(SimpleInner), is(false)); | 57 | assertThat(index.isAnonymousClass(SimpleInner), is(false)); |
| 58 | decompile(SimpleOuter); | 58 | decompile(SimpleOuter); |
| 59 | } | 59 | } |
| 60 | 60 | ||
| 61 | @Test | 61 | @Test |
| 62 | public void anonymous() { | 62 | public void anonymous() { |
| 63 | assertThat(m_index.getOuterClass(AnonymousInner), is(AnonymousOuter)); | 63 | assertThat(index.getOuterClass(AnonymousInner), is(AnonymousOuter)); |
| 64 | assertThat(m_index.getInnerClasses(AnonymousOuter), containsInAnyOrder(AnonymousInner)); | 64 | assertThat(index.getInnerClasses(AnonymousOuter), containsInAnyOrder(AnonymousInner)); |
| 65 | assertThat(m_index.isAnonymousClass(AnonymousInner), is(true)); | 65 | assertThat(index.isAnonymousClass(AnonymousInner), is(true)); |
| 66 | decompile(AnonymousOuter); | 66 | decompile(AnonymousOuter); |
| 67 | } | 67 | } |
| 68 | 68 | ||
| 69 | @Test | 69 | @Test |
| 70 | public void constructorArgs() { | 70 | public void constructorArgs() { |
| 71 | assertThat(m_index.getOuterClass(ConstructorArgsInner), is(ConstructorArgsOuter)); | 71 | assertThat(index.getOuterClass(ConstructorArgsInner), is(ConstructorArgsOuter)); |
| 72 | assertThat(m_index.getInnerClasses(ConstructorArgsOuter), containsInAnyOrder(ConstructorArgsInner)); | 72 | assertThat(index.getInnerClasses(ConstructorArgsOuter), containsInAnyOrder(ConstructorArgsInner)); |
| 73 | assertThat(m_index.isAnonymousClass(ConstructorArgsInner), is(false)); | 73 | assertThat(index.isAnonymousClass(ConstructorArgsInner), is(false)); |
| 74 | decompile(ConstructorArgsOuter); | 74 | decompile(ConstructorArgsOuter); |
| 75 | } | 75 | } |
| 76 | 76 | ||
| 77 | @Test | 77 | @Test |
| 78 | public void anonymousWithScopeArgs() { | 78 | public void anonymousWithScopeArgs() { |
| 79 | assertThat(m_index.getOuterClass(AnonymousWithScopeArgsInner), is(AnonymousWithScopeArgsOuter)); | 79 | assertThat(index.getOuterClass(AnonymousWithScopeArgsInner), is(AnonymousWithScopeArgsOuter)); |
| 80 | assertThat(m_index.getInnerClasses(AnonymousWithScopeArgsOuter), containsInAnyOrder(AnonymousWithScopeArgsInner)); | 80 | assertThat(index.getInnerClasses(AnonymousWithScopeArgsOuter), containsInAnyOrder(AnonymousWithScopeArgsInner)); |
| 81 | assertThat(m_index.isAnonymousClass(AnonymousWithScopeArgsInner), is(true)); | 81 | assertThat(index.isAnonymousClass(AnonymousWithScopeArgsInner), is(true)); |
| 82 | decompile(AnonymousWithScopeArgsOuter); | 82 | decompile(AnonymousWithScopeArgsOuter); |
| 83 | } | 83 | } |
| 84 | 84 | ||
| 85 | @Test | 85 | @Test |
| 86 | public void anonymousWithOuterAccess() { | 86 | public void anonymousWithOuterAccess() { |
| 87 | assertThat(m_index.getOuterClass(AnonymousWithOuterAccessInner), is(AnonymousWithOuterAccessOuter)); | 87 | assertThat(index.getOuterClass(AnonymousWithOuterAccessInner), is(AnonymousWithOuterAccessOuter)); |
| 88 | assertThat(m_index.getInnerClasses(AnonymousWithOuterAccessOuter), containsInAnyOrder(AnonymousWithOuterAccessInner)); | 88 | assertThat(index.getInnerClasses(AnonymousWithOuterAccessOuter), containsInAnyOrder(AnonymousWithOuterAccessInner)); |
| 89 | assertThat(m_index.isAnonymousClass(AnonymousWithOuterAccessInner), is(true)); | 89 | assertThat(index.isAnonymousClass(AnonymousWithOuterAccessInner), is(true)); |
| 90 | decompile(AnonymousWithOuterAccessOuter); | 90 | decompile(AnonymousWithOuterAccessOuter); |
| 91 | } | 91 | } |
| 92 | 92 | ||
| @@ -94,26 +94,26 @@ public class TestInnerClasses { | |||
| 94 | public void classTree() { | 94 | public void classTree() { |
| 95 | 95 | ||
| 96 | // root level | 96 | // root level |
| 97 | assertThat(m_index.containsObfClass(ClassTreeRoot), is(true)); | 97 | assertThat(index.containsObfClass(ClassTreeRoot), is(true)); |
| 98 | assertThat(m_index.getOuterClass(ClassTreeRoot), is(nullValue())); | 98 | assertThat(index.getOuterClass(ClassTreeRoot), is(nullValue())); |
| 99 | assertThat(m_index.getInnerClasses(ClassTreeRoot), containsInAnyOrder(ClassTreeLevel1)); | 99 | assertThat(index.getInnerClasses(ClassTreeRoot), containsInAnyOrder(ClassTreeLevel1)); |
| 100 | 100 | ||
| 101 | // level 1 | 101 | // level 1 |
| 102 | ClassEntry fullClassEntry = new ClassEntry(ClassTreeRoot.getName() | 102 | ClassEntry fullClassEntry = new ClassEntry(ClassTreeRoot.getName() |
| 103 | + "$" + ClassTreeLevel1.getInnermostClassName() | 103 | + "$" + ClassTreeLevel1.getInnermostClassName() |
| 104 | ); | 104 | ); |
| 105 | assertThat(m_index.containsObfClass(fullClassEntry), is(true)); | 105 | assertThat(index.containsObfClass(fullClassEntry), is(true)); |
| 106 | assertThat(m_index.getOuterClass(ClassTreeLevel1), is(ClassTreeRoot)); | 106 | assertThat(index.getOuterClass(ClassTreeLevel1), is(ClassTreeRoot)); |
| 107 | assertThat(m_index.getInnerClasses(ClassTreeLevel1), containsInAnyOrder(ClassTreeLevel2)); | 107 | assertThat(index.getInnerClasses(ClassTreeLevel1), containsInAnyOrder(ClassTreeLevel2)); |
| 108 | 108 | ||
| 109 | // level 2 | 109 | // level 2 |
| 110 | fullClassEntry = new ClassEntry(ClassTreeRoot.getName() | 110 | fullClassEntry = new ClassEntry(ClassTreeRoot.getName() |
| 111 | + "$" + ClassTreeLevel1.getInnermostClassName() | 111 | + "$" + ClassTreeLevel1.getInnermostClassName() |
| 112 | + "$" + ClassTreeLevel2.getInnermostClassName() | 112 | + "$" + ClassTreeLevel2.getInnermostClassName() |
| 113 | ); | 113 | ); |
| 114 | assertThat(m_index.containsObfClass(fullClassEntry), is(true)); | 114 | assertThat(index.containsObfClass(fullClassEntry), is(true)); |
| 115 | assertThat(m_index.getOuterClass(ClassTreeLevel2), is(ClassTreeLevel1)); | 115 | assertThat(index.getOuterClass(ClassTreeLevel2), is(ClassTreeLevel1)); |
| 116 | assertThat(m_index.getInnerClasses(ClassTreeLevel2), containsInAnyOrder(ClassTreeLevel3)); | 116 | assertThat(index.getInnerClasses(ClassTreeLevel2), containsInAnyOrder(ClassTreeLevel3)); |
| 117 | 117 | ||
| 118 | // level 3 | 118 | // level 3 |
| 119 | fullClassEntry = new ClassEntry(ClassTreeRoot.getName() | 119 | fullClassEntry = new ClassEntry(ClassTreeRoot.getName() |
| @@ -121,12 +121,12 @@ public class TestInnerClasses { | |||
| 121 | + "$" + ClassTreeLevel2.getInnermostClassName() | 121 | + "$" + ClassTreeLevel2.getInnermostClassName() |
| 122 | + "$" + ClassTreeLevel3.getInnermostClassName() | 122 | + "$" + ClassTreeLevel3.getInnermostClassName() |
| 123 | ); | 123 | ); |
| 124 | assertThat(m_index.containsObfClass(fullClassEntry), is(true)); | 124 | assertThat(index.containsObfClass(fullClassEntry), is(true)); |
| 125 | assertThat(m_index.getOuterClass(ClassTreeLevel3), is(ClassTreeLevel2)); | 125 | assertThat(index.getOuterClass(ClassTreeLevel3), is(ClassTreeLevel2)); |
| 126 | assertThat(m_index.getInnerClasses(ClassTreeLevel3), is(empty())); | 126 | assertThat(index.getInnerClasses(ClassTreeLevel3), is(empty())); |
| 127 | } | 127 | } |
| 128 | 128 | ||
| 129 | private void decompile(ClassEntry classEntry) { | 129 | private void decompile(ClassEntry classEntry) { |
| 130 | m_deobfuscator.getSourceTree(classEntry.getName()); | 130 | deobfuscator.getSourceTree(classEntry.getName()); |
| 131 | } | 131 | } |
| 132 | } | 132 | } |