diff options
Diffstat (limited to 'src/test/java/cuchaz/enigma/TestJarIndexConstructorReferences.java')
| -rw-r--r-- | src/test/java/cuchaz/enigma/TestJarIndexConstructorReferences.java | 75 |
1 files changed, 38 insertions, 37 deletions
diff --git a/src/test/java/cuchaz/enigma/TestJarIndexConstructorReferences.java b/src/test/java/cuchaz/enigma/TestJarIndexConstructorReferences.java index cb65cd0..01d4bab 100644 --- a/src/test/java/cuchaz/enigma/TestJarIndexConstructorReferences.java +++ b/src/test/java/cuchaz/enigma/TestJarIndexConstructorReferences.java | |||
| @@ -27,98 +27,99 @@ import cuchaz.enigma.mapping.ClassEntry; | |||
| 27 | 27 | ||
| 28 | public class TestJarIndexConstructorReferences { | 28 | public class TestJarIndexConstructorReferences { |
| 29 | 29 | ||
| 30 | private JarIndex m_index; | 30 | private JarIndex index; |
| 31 | 31 | ||
| 32 | private ClassEntry m_baseClass = newClass("a"); | 32 | private ClassEntry baseClass = newClass("a"); |
| 33 | private ClassEntry m_subClass = newClass("d"); | 33 | private ClassEntry subClass = newClass("d"); |
| 34 | private ClassEntry m_subsubClass = newClass("e"); | 34 | private ClassEntry subsubClass = newClass("e"); |
| 35 | private ClassEntry m_defaultClass = newClass("c"); | 35 | private ClassEntry defaultClass = newClass("c"); |
| 36 | private ClassEntry m_callerClass = newClass("b"); | 36 | private ClassEntry callerClass = newClass("b"); |
| 37 | 37 | ||
| 38 | public TestJarIndexConstructorReferences() | 38 | public TestJarIndexConstructorReferences() |
| 39 | throws Exception { | 39 | throws Exception { |
| 40 | File jarFile = new File("build/test-obf/constructors.jar"); | 40 | File jarFile = new File("build/test-obf/constructors.jar"); |
| 41 | m_index = new JarIndex(); | 41 | index = new JarIndex(); |
| 42 | m_index.indexJar(new JarFile(jarFile), false); | 42 | index.indexJar(new JarFile(jarFile), false); |
| 43 | } | 43 | } |
| 44 | 44 | ||
| 45 | @Test | 45 | @Test |
| 46 | public void obfEntries() { | 46 | public void obfEntries() { |
| 47 | assertThat(m_index.getObfClassEntries(), containsInAnyOrder(newClass("cuchaz/enigma/inputs/Keep"), m_baseClass, m_subClass, m_subsubClass, m_defaultClass, m_callerClass)); | 47 | assertThat(index.getObfClassEntries(), containsInAnyOrder(newClass("cuchaz/enigma/inputs/Keep"), baseClass, |
| 48 | subClass, subsubClass, defaultClass, callerClass)); | ||
| 48 | } | 49 | } |
| 49 | 50 | ||
| 50 | @Test | 51 | @Test |
| 51 | @SuppressWarnings("unchecked") | 52 | @SuppressWarnings("unchecked") |
| 52 | public void baseDefault() { | 53 | public void baseDefault() { |
| 53 | BehaviorEntry source = newConstructor(m_baseClass, "()V"); | 54 | BehaviorEntry source = newConstructor(baseClass, "()V"); |
| 54 | Collection<EntryReference<BehaviorEntry,BehaviorEntry>> references = m_index.getBehaviorReferences(source); | 55 | Collection<EntryReference<BehaviorEntry,BehaviorEntry>> references = index.getBehaviorReferences(source); |
| 55 | assertThat(references, containsInAnyOrder( | 56 | assertThat(references, containsInAnyOrder( |
| 56 | newBehaviorReferenceByMethod(source, m_callerClass.getName(), "a", "()V"), | 57 | newBehaviorReferenceByMethod(source, callerClass.getName(), "a", "()V"), |
| 57 | newBehaviorReferenceByConstructor(source, m_subClass.getName(), "()V"), | 58 | newBehaviorReferenceByConstructor(source, subClass.getName(), "()V"), |
| 58 | newBehaviorReferenceByConstructor(source, m_subClass.getName(), "(III)V") | 59 | newBehaviorReferenceByConstructor(source, subClass.getName(), "(III)V") |
| 59 | )); | 60 | )); |
| 60 | } | 61 | } |
| 61 | 62 | ||
| 62 | @Test | 63 | @Test |
| 63 | @SuppressWarnings("unchecked") | 64 | @SuppressWarnings("unchecked") |
| 64 | public void baseInt() { | 65 | public void baseInt() { |
| 65 | BehaviorEntry source = newConstructor(m_baseClass, "(I)V"); | 66 | BehaviorEntry source = newConstructor(baseClass, "(I)V"); |
| 66 | assertThat(m_index.getBehaviorReferences(source), containsInAnyOrder( | 67 | assertThat(index.getBehaviorReferences(source), containsInAnyOrder( |
| 67 | newBehaviorReferenceByMethod(source, m_callerClass.getName(), "b", "()V") | 68 | newBehaviorReferenceByMethod(source, callerClass.getName(), "b", "()V") |
| 68 | )); | 69 | )); |
| 69 | } | 70 | } |
| 70 | 71 | ||
| 71 | @Test | 72 | @Test |
| 72 | @SuppressWarnings("unchecked") | 73 | @SuppressWarnings("unchecked") |
| 73 | public void subDefault() { | 74 | public void subDefault() { |
| 74 | BehaviorEntry source = newConstructor(m_subClass, "()V"); | 75 | BehaviorEntry source = newConstructor(subClass, "()V"); |
| 75 | assertThat(m_index.getBehaviorReferences(source), containsInAnyOrder( | 76 | assertThat(index.getBehaviorReferences(source), containsInAnyOrder( |
| 76 | newBehaviorReferenceByMethod(source, m_callerClass.getName(), "c", "()V"), | 77 | newBehaviorReferenceByMethod(source, callerClass.getName(), "c", "()V"), |
| 77 | newBehaviorReferenceByConstructor(source, m_subClass.getName(), "(I)V") | 78 | newBehaviorReferenceByConstructor(source, subClass.getName(), "(I)V") |
| 78 | )); | 79 | )); |
| 79 | } | 80 | } |
| 80 | 81 | ||
| 81 | @Test | 82 | @Test |
| 82 | @SuppressWarnings("unchecked") | 83 | @SuppressWarnings("unchecked") |
| 83 | public void subInt() { | 84 | public void subInt() { |
| 84 | BehaviorEntry source = newConstructor(m_subClass, "(I)V"); | 85 | BehaviorEntry source = newConstructor(subClass, "(I)V"); |
| 85 | assertThat(m_index.getBehaviorReferences(source), containsInAnyOrder( | 86 | assertThat(index.getBehaviorReferences(source), containsInAnyOrder( |
| 86 | newBehaviorReferenceByMethod(source, m_callerClass.getName(), "d", "()V"), | 87 | newBehaviorReferenceByMethod(source, callerClass.getName(), "d", "()V"), |
| 87 | newBehaviorReferenceByConstructor(source, m_subClass.getName(), "(II)V"), | 88 | newBehaviorReferenceByConstructor(source, subClass.getName(), "(II)V"), |
| 88 | newBehaviorReferenceByConstructor(source, m_subsubClass.getName(), "(I)V") | 89 | newBehaviorReferenceByConstructor(source, subsubClass.getName(), "(I)V") |
| 89 | )); | 90 | )); |
| 90 | } | 91 | } |
| 91 | 92 | ||
| 92 | @Test | 93 | @Test |
| 93 | @SuppressWarnings("unchecked") | 94 | @SuppressWarnings("unchecked") |
| 94 | public void subIntInt() { | 95 | public void subIntInt() { |
| 95 | BehaviorEntry source = newConstructor(m_subClass, "(II)V"); | 96 | BehaviorEntry source = newConstructor(subClass, "(II)V"); |
| 96 | assertThat(m_index.getBehaviorReferences(source), containsInAnyOrder( | 97 | assertThat(index.getBehaviorReferences(source), containsInAnyOrder( |
| 97 | newBehaviorReferenceByMethod(source, m_callerClass.getName(), "e", "()V") | 98 | newBehaviorReferenceByMethod(source, callerClass.getName(), "e", "()V") |
| 98 | )); | 99 | )); |
| 99 | } | 100 | } |
| 100 | 101 | ||
| 101 | @Test | 102 | @Test |
| 102 | public void subIntIntInt() { | 103 | public void subIntIntInt() { |
| 103 | BehaviorEntry source = newConstructor(m_subClass, "(III)V"); | 104 | BehaviorEntry source = newConstructor(subClass, "(III)V"); |
| 104 | assertThat(m_index.getBehaviorReferences(source), is(empty())); | 105 | assertThat(index.getBehaviorReferences(source), is(empty())); |
| 105 | } | 106 | } |
| 106 | 107 | ||
| 107 | @Test | 108 | @Test |
| 108 | @SuppressWarnings("unchecked") | 109 | @SuppressWarnings("unchecked") |
| 109 | public void subsubInt() { | 110 | public void subsubInt() { |
| 110 | BehaviorEntry source = newConstructor(m_subsubClass, "(I)V"); | 111 | BehaviorEntry source = newConstructor(subsubClass, "(I)V"); |
| 111 | assertThat(m_index.getBehaviorReferences(source), containsInAnyOrder( | 112 | assertThat(index.getBehaviorReferences(source), containsInAnyOrder( |
| 112 | newBehaviorReferenceByMethod(source, m_callerClass.getName(), "f", "()V") | 113 | newBehaviorReferenceByMethod(source, callerClass.getName(), "f", "()V") |
| 113 | )); | 114 | )); |
| 114 | } | 115 | } |
| 115 | 116 | ||
| 116 | @Test | 117 | @Test |
| 117 | @SuppressWarnings("unchecked") | 118 | @SuppressWarnings("unchecked") |
| 118 | public void defaultConstructable() { | 119 | public void defaultConstructable() { |
| 119 | BehaviorEntry source = newConstructor(m_defaultClass, "()V"); | 120 | BehaviorEntry source = newConstructor(defaultClass, "()V"); |
| 120 | assertThat(m_index.getBehaviorReferences(source), containsInAnyOrder( | 121 | assertThat(index.getBehaviorReferences(source), containsInAnyOrder( |
| 121 | newBehaviorReferenceByMethod(source, m_callerClass.getName(), "g", "()V") | 122 | newBehaviorReferenceByMethod(source, callerClass.getName(), "g", "()V") |
| 122 | )); | 123 | )); |
| 123 | } | 124 | } |
| 124 | } | 125 | } |