Extract classPathInTheSameClassLoader into a separate test

- class loader is now always created as if classPathInTheSameClassLoader
  = false, which was the case of every codegen test except kt2781, which
  is extracted into a separate file
- testNoClassObjectForJavaClass() is moved from StdlibTest since it has
  a custom createClassLoader() which doesn't work well in a java-interop
  case
- get rid of generateClassesInFileGetState
- several similar methods are inlined
This commit is contained in:
Alexander Udalov
2013-01-25 04:00:42 +04:00
committed by Alexander Udalov
parent 639aa9e218
commit 63aacc416f
8 changed files with 89 additions and 108 deletions
@@ -36,7 +36,7 @@ public class ClassGenTest extends CodegenTestCase {
public void testPSVMClass() {
loadFile("classes/simpleClass.kt");
final Class aClass = loadClass("SimpleClass", generateClassesInFile());
final Class aClass = generateClass("SimpleClass");
final Method[] methods = aClass.getDeclaredMethods();
// public int SimpleClass.foo()
assertEquals(1, methods.length);
@@ -44,7 +44,7 @@ public class ClassGenTest extends CodegenTestCase {
public void testArrayListInheritance() throws Exception {
loadFile("classes/inheritingFromArrayList.kt");
final Class aClass = loadClass("Foo", generateClassesInFile());
final Class aClass = generateClass("Foo");
assertInstanceOf(aClass.newInstance(), List.class);
}
@@ -159,8 +159,7 @@ public class ClassGenTest extends CodegenTestCase {
public void testAbstractMethod() throws Exception {
loadText("abstract class Foo { abstract fun x(): String; fun y(): Int = 0 }");
final ClassFileFactory codegens = generateClassesInFile();
final Class aClass = loadClass("Foo", codegens);
final Class aClass = generateClass("Foo");
assertNotNull(aClass.getMethod("x"));
assertNotNull(findMethodByName(aClass, "y"));
}
@@ -491,11 +490,11 @@ public class ClassGenTest extends CodegenTestCase {
blackBoxFile("regressions/kt2626.kt");
}
public void testKt2781() throws Exception {
blackBoxFileWithJava("regressions/kt2781.kt", true);
}
public void testKt2607() {
blackBoxFile("regressions/kt2607.kt");
}
public void testNoClassObjectForJavaClass() {
blackBoxFileWithJava("stdlib/noClassObjectForJavaClass.kt");
}
}