From 72e918a5134c2bf747a476284bcfa1bd2ef2fa21 Mon Sep 17 00:00:00 2001 From: jeff Date: Sun, 14 Sep 2014 23:56:43 -0400 Subject: added tests to check constructor tokens fixed a bug with constructor tokens too --- .../enigma/TestJarIndexConstructorReferences.java | 29 +++++++++++++++++----- 1 file changed, 23 insertions(+), 6 deletions(-) (limited to 'test/cuchaz/enigma/TestJarIndexConstructorReferences.java') diff --git a/test/cuchaz/enigma/TestJarIndexConstructorReferences.java b/test/cuchaz/enigma/TestJarIndexConstructorReferences.java index 38882a0..c069188 100644 --- a/test/cuchaz/enigma/TestJarIndexConstructorReferences.java +++ b/test/cuchaz/enigma/TestJarIndexConstructorReferences.java @@ -18,10 +18,13 @@ import static org.hamcrest.Matchers.containsInAnyOrder; import static org.hamcrest.Matchers.empty; import static org.hamcrest.Matchers.is; +import java.io.File; +import java.util.Collection; import java.util.jar.JarFile; import org.junit.Test; +import cuchaz.enigma.analysis.EntryReference; import cuchaz.enigma.analysis.JarIndex; import cuchaz.enigma.mapping.BehaviorEntry; import cuchaz.enigma.mapping.ClassEntry; @@ -30,17 +33,19 @@ import cuchaz.enigma.mapping.ConstructorEntry; public class TestJarIndexConstructorReferences { private JarIndex m_index; - + private ClassEntry m_baseClass = new ClassEntry( "none/a" ); - private ClassEntry m_subClass = new ClassEntry( "none/c" ); - private ClassEntry m_subsubClass = new ClassEntry( "none/d" ); + private ClassEntry m_subClass = new ClassEntry( "none/d" ); + private ClassEntry m_subsubClass = new ClassEntry( "none/e" ); + private ClassEntry m_defaultClass = new ClassEntry( "none/c" ); private ClassEntry m_callerClass = new ClassEntry( "none/b" ); - + public TestJarIndexConstructorReferences( ) throws Exception { + File jarFile = new File( "build/libs/testConstructors.obf.jar" ); m_index = new JarIndex(); - m_index.indexJar( new JarFile( "build/libs/testConstructors.obf.jar" ), false ); + m_index.indexJar( new JarFile( jarFile ), false ); } @Test @@ -51,6 +56,7 @@ public class TestJarIndexConstructorReferences m_baseClass, m_subClass, m_subsubClass, + m_defaultClass, m_callerClass ) ); } @@ -60,7 +66,8 @@ public class TestJarIndexConstructorReferences public void baseDefault( ) { BehaviorEntry source = new ConstructorEntry( m_baseClass, "()V" ); - assertThat( m_index.getBehaviorReferences( source ), containsInAnyOrder( + Collection> references = m_index.getBehaviorReferences( source ); + assertThat( references, containsInAnyOrder( newBehaviorReferenceByMethod( source, m_callerClass.getName(), "a", "()V" ), newBehaviorReferenceByConstructor( source, m_subClass.getName(), "()V" ), newBehaviorReferenceByConstructor( source, m_subClass.getName(), "(III)V" ) @@ -126,4 +133,14 @@ public class TestJarIndexConstructorReferences newBehaviorReferenceByMethod( source, m_callerClass.getName(), "f", "()V" ) ) ); } + + @Test + @SuppressWarnings( "unchecked" ) + public void defaultConstructable( ) + { + BehaviorEntry source = new ConstructorEntry( m_defaultClass, "()V" ); + assertThat( m_index.getBehaviorReferences( source ), containsInAnyOrder( + newBehaviorReferenceByMethod( source, m_callerClass.getName(), "g", "()V" ) + ) ); + } } -- cgit v1.2.3