default imports added to script definitions

This commit is contained in:
Alex Tkachman
2012-08-01 23:05:56 +03:00
parent 2677c8842e
commit 29054586d3
6 changed files with 69 additions and 6 deletions
@@ -27,6 +27,8 @@ import java.lang.reflect.Constructor;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
/**
@@ -37,6 +39,9 @@ public class ScriptGenTest extends CodegenTestCase {
public static final JetScriptDefinition FIB_SCRIPT_DEFINITION =
new JetScriptDefinition(".lang.kt", new AnalyzerScriptParameter("num", "jet.Int"));
public static final JetScriptDefinition DEFIMPORT_SCRIPT_DEFINITION =
new JetScriptDefinition(".def.kt", null, Arrays.asList("java.util.Collections"));
@Override
protected void setUp() throws Exception {
super.setUp();
@@ -131,7 +136,6 @@ public class ScriptGenTest extends CodegenTestCase {
public void testDependentScripts() {
JetScriptDefinitionProvider.getInstance(myEnvironment.getProject()).addScriptDefinition(FIB_SCRIPT_DEFINITION);
loadFiles("script/fibwp.lang.kt", "script/fibwprunner.ktscript");
System.out.println(generateToText());
final Class aClass = loadClass("Fibwprunner", generateClassesInFile());
try {
Constructor constructor = aClass.getConstructor();
@@ -145,4 +149,19 @@ public class ScriptGenTest extends CodegenTestCase {
throw new RuntimeException(e);
}
}
public void testDefImports() {
JetScriptDefinitionProvider.getInstance(myEnvironment.getProject()).addScriptDefinition(DEFIMPORT_SCRIPT_DEFINITION);
loadFile("script/withdefimports.def.kt");
final Class aClass = loadClass("Withdefimports", generateClassesInFile());
try {
Constructor constructor = aClass.getConstructor();
Field rv = aClass.getField("rv");
Object script = constructor.newInstance();
assertEquals(Collections.emptyList(),rv.get(script));
}
catch (Exception e) {
throw new RuntimeException(e);
}
}
}