diff options
| author | 2018-07-18 13:46:00 +0100 | |
|---|---|---|
| committer | 2018-07-18 13:46:00 +0100 | |
| commit | 1ebe691c12f68beea378b133ddc4bcbde7f3f795 (patch) | |
| tree | fb051d9fde5644bd144a7e9d7bcecc70a256359c /src/test/java/cuchaz/enigma/TestJarIndexLoneClass.java | |
| parent | Recursively rebuild method names (diff) | |
| parent | Update version number (diff) | |
| download | enigma-fork-1ebe691c12f68beea378b133ddc4bcbde7f3f795.tar.gz enigma-fork-1ebe691c12f68beea378b133ddc4bcbde7f3f795.tar.xz enigma-fork-1ebe691c12f68beea378b133ddc4bcbde7f3f795.zip | |
Merge pull request #62 from OpenModLoader/asm
ASM based class translator
Diffstat (limited to 'src/test/java/cuchaz/enigma/TestJarIndexLoneClass.java')
| -rw-r--r-- | src/test/java/cuchaz/enigma/TestJarIndexLoneClass.java | 38 |
1 files changed, 17 insertions, 21 deletions
diff --git a/src/test/java/cuchaz/enigma/TestJarIndexLoneClass.java b/src/test/java/cuchaz/enigma/TestJarIndexLoneClass.java index 6cab1c8..b4529dd 100644 --- a/src/test/java/cuchaz/enigma/TestJarIndexLoneClass.java +++ b/src/test/java/cuchaz/enigma/TestJarIndexLoneClass.java | |||
| @@ -13,6 +13,7 @@ package cuchaz.enigma; | |||
| 13 | 13 | ||
| 14 | import cuchaz.enigma.analysis.*; | 14 | import cuchaz.enigma.analysis.*; |
| 15 | import cuchaz.enigma.mapping.*; | 15 | import cuchaz.enigma.mapping.*; |
| 16 | import cuchaz.enigma.mapping.entry.*; | ||
| 16 | import org.junit.Test; | 17 | import org.junit.Test; |
| 17 | 18 | ||
| 18 | import java.util.Collection; | 19 | import java.util.Collection; |
| @@ -28,16 +29,16 @@ public class TestJarIndexLoneClass { | |||
| 28 | private JarIndex index; | 29 | private JarIndex index; |
| 29 | 30 | ||
| 30 | public TestJarIndexLoneClass() | 31 | public TestJarIndexLoneClass() |
| 31 | throws Exception { | 32 | throws Exception { |
| 32 | index = new JarIndex(); | 33 | index = new JarIndex(new ReferencedEntryPool()); |
| 33 | index.indexJar(new JarFile("build/test-obf/loneClass.jar"), false); | 34 | index.indexJar(new ParsedJar(new JarFile("build/test-obf/loneClass.jar")), false); |
| 34 | } | 35 | } |
| 35 | 36 | ||
| 36 | @Test | 37 | @Test |
| 37 | public void obfEntries() { | 38 | public void obfEntries() { |
| 38 | assertThat(index.getObfClassEntries(), containsInAnyOrder( | 39 | assertThat(index.getObfClassEntries(), containsInAnyOrder( |
| 39 | newClass("cuchaz/enigma/inputs/Keep"), | 40 | newClass("cuchaz/enigma/inputs/Keep"), |
| 40 | newClass("a") | 41 | newClass("a") |
| 41 | )); | 42 | )); |
| 42 | } | 43 | } |
| 43 | 44 | ||
| @@ -61,7 +62,7 @@ public class TestJarIndexLoneClass { | |||
| 61 | 62 | ||
| 62 | @Test | 63 | @Test |
| 63 | public void classInheritance() { | 64 | public void classInheritance() { |
| 64 | ClassInheritanceTreeNode node = index.getClassInheritance(new Translator(), newClass("a")); | 65 | ClassInheritanceTreeNode node = index.getClassInheritance(new DirectionalTranslator(new ReferencedEntryPool()), newClass("a")); |
| 65 | assertThat(node, is(not(nullValue()))); | 66 | assertThat(node, is(not(nullValue()))); |
| 66 | assertThat(node.getObfClassName(), is("a")); | 67 | assertThat(node.getObfClassName(), is("a")); |
| 67 | assertThat(node.getChildCount(), is(0)); | 68 | assertThat(node.getChildCount(), is(0)); |
| @@ -70,7 +71,7 @@ public class TestJarIndexLoneClass { | |||
| 70 | @Test | 71 | @Test |
| 71 | public void methodInheritance() { | 72 | public void methodInheritance() { |
| 72 | MethodEntry source = newMethod("a", "a", "()Ljava/lang/String;"); | 73 | MethodEntry source = newMethod("a", "a", "()Ljava/lang/String;"); |
| 73 | MethodInheritanceTreeNode node = index.getMethodInheritance(new Translator(), source); | 74 | MethodInheritanceTreeNode node = index.getMethodInheritance(new DirectionalTranslator(new ReferencedEntryPool()), source); |
| 74 | assertThat(node, is(not(nullValue()))); | 75 | assertThat(node, is(not(nullValue()))); |
| 75 | assertThat(node.getMethodEntry(), is(source)); | 76 | assertThat(node.getMethodEntry(), is(source)); |
| 76 | assertThat(node.getChildCount(), is(0)); | 77 | assertThat(node.getChildCount(), is(0)); |
| @@ -78,21 +79,21 @@ public class TestJarIndexLoneClass { | |||
| 78 | 79 | ||
| 79 | @Test | 80 | @Test |
| 80 | public void classImplementations() { | 81 | public void classImplementations() { |
| 81 | ClassImplementationsTreeNode node = index.getClassImplementations(new Translator(), newClass("a")); | 82 | ClassImplementationsTreeNode node = index.getClassImplementations(new DirectionalTranslator(new ReferencedEntryPool()), newClass("a")); |
| 82 | assertThat(node, is(nullValue())); | 83 | assertThat(node, is(nullValue())); |
| 83 | } | 84 | } |
| 84 | 85 | ||
| 85 | @Test | 86 | @Test |
| 86 | public void methodImplementations() { | 87 | public void methodImplementations() { |
| 87 | MethodEntry source = newMethod("a", "a", "()Ljava/lang/String;"); | 88 | MethodEntry source = newMethod("a", "a", "()Ljava/lang/String;"); |
| 88 | assertThat(index.getMethodImplementations(new Translator(), source), is(empty())); | 89 | assertThat(index.getMethodImplementations(new DirectionalTranslator(new ReferencedEntryPool()), source), is(empty())); |
| 89 | } | 90 | } |
| 90 | 91 | ||
| 91 | @Test | 92 | @Test |
| 92 | public void relatedMethodImplementations() { | 93 | public void relatedMethodImplementations() { |
| 93 | Set<MethodEntry> entries = index.getRelatedMethodImplementations(newMethod("a", "a", "()Ljava/lang/String;")); | 94 | Set<MethodEntry> entries = index.getRelatedMethodImplementations(newMethod("a", "a", "()Ljava/lang/String;")); |
| 94 | assertThat(entries, containsInAnyOrder( | 95 | assertThat(entries, containsInAnyOrder( |
| 95 | newMethod("a", "a", "()Ljava/lang/String;") | 96 | newMethod("a", "a", "()Ljava/lang/String;") |
| 96 | )); | 97 | )); |
| 97 | } | 98 | } |
| 98 | 99 | ||
| @@ -100,16 +101,16 @@ public class TestJarIndexLoneClass { | |||
| 100 | @SuppressWarnings("unchecked") | 101 | @SuppressWarnings("unchecked") |
| 101 | public void fieldReferences() { | 102 | public void fieldReferences() { |
| 102 | FieldEntry source = newField("a", "a", "Ljava/lang/String;"); | 103 | FieldEntry source = newField("a", "a", "Ljava/lang/String;"); |
| 103 | Collection<EntryReference<FieldEntry, BehaviorEntry>> references = index.getFieldReferences(source); | 104 | Collection<EntryReference<FieldEntry, MethodDefEntry>> references = index.getFieldReferences(source); |
| 104 | assertThat(references, containsInAnyOrder( | 105 | assertThat(references, containsInAnyOrder( |
| 105 | newFieldReferenceByConstructor(source, "a", "(Ljava/lang/String;)V"), | 106 | newFieldReferenceByMethod(source, "a", "<init>", "(Ljava/lang/String;)V"), |
| 106 | newFieldReferenceByMethod(source, "a", "a", "()Ljava/lang/String;") | 107 | newFieldReferenceByMethod(source, "a", "a", "()Ljava/lang/String;") |
| 107 | )); | 108 | )); |
| 108 | } | 109 | } |
| 109 | 110 | ||
| 110 | @Test | 111 | @Test |
| 111 | public void behaviorReferences() { | 112 | public void behaviorReferences() { |
| 112 | assertThat(index.getBehaviorReferences(newMethod("a", "a", "()Ljava/lang/String;")), is(empty())); | 113 | assertThat(index.getMethodsReferencing(newMethod("a", "a", "()Ljava/lang/String;")), is(empty())); |
| 113 | } | 114 | } |
| 114 | 115 | ||
| 115 | @Test | 116 | @Test |
| @@ -123,11 +124,6 @@ public class TestJarIndexLoneClass { | |||
| 123 | } | 124 | } |
| 124 | 125 | ||
| 125 | @Test | 126 | @Test |
| 126 | public void isAnonymousClass() { | ||
| 127 | assertThat(index.isAnonymousClass(newClass("a")), is(false)); | ||
| 128 | } | ||
| 129 | |||
| 130 | @Test | ||
| 131 | public void interfaces() { | 127 | public void interfaces() { |
| 132 | assertThat(index.getInterfaces("a"), is(empty())); | 128 | assertThat(index.getInterfaces("a"), is(empty())); |
| 133 | } | 129 | } |
| @@ -149,7 +145,7 @@ public class TestJarIndexLoneClass { | |||
| 149 | assertThat(index.containsObfField(newField("a", "a", "Ljava/lang/String;")), is(true)); | 145 | assertThat(index.containsObfField(newField("a", "a", "Ljava/lang/String;")), is(true)); |
| 150 | assertThat(index.containsObfField(newField("a", "b", "Ljava/lang/String;")), is(false)); | 146 | assertThat(index.containsObfField(newField("a", "b", "Ljava/lang/String;")), is(false)); |
| 151 | assertThat(index.containsObfField(newField("a", "a", "LFoo;")), is(false)); | 147 | assertThat(index.containsObfField(newField("a", "a", "LFoo;")), is(false)); |
| 152 | assertThat(index.containsObfBehavior(newMethod("a", "a", "()Ljava/lang/String;")), is(true)); | 148 | assertThat(index.containsObfMethod(newMethod("a", "a", "()Ljava/lang/String;")), is(true)); |
| 153 | assertThat(index.containsObfBehavior(newMethod("a", "b", "()Ljava/lang/String;")), is(false)); | 149 | assertThat(index.containsObfMethod(newMethod("a", "b", "()Ljava/lang/String;")), is(false)); |
| 154 | } | 150 | } |
| 155 | } | 151 | } |