function call generation works in some trivial cases
This commit is contained in:
@@ -0,0 +1,17 @@
|
||||
package org.jetbrains.jet;
|
||||
|
||||
import com.intellij.openapi.projectRoots.Sdk;
|
||||
import com.intellij.testFramework.fixtures.DefaultLightProjectDescriptor;
|
||||
import org.jetbrains.jet.resolve.JetResolveTest;
|
||||
|
||||
/**
|
||||
* @author yole
|
||||
*/
|
||||
public class JetLightProjectDescriptor extends DefaultLightProjectDescriptor {
|
||||
public static JetLightProjectDescriptor INSTANCE = new JetLightProjectDescriptor();
|
||||
|
||||
@Override
|
||||
public Sdk getSdk() {
|
||||
return JetResolveTest.jdkFromIdeaHome();
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,9 @@
|
||||
package org.jetbrains.jet.codegen;
|
||||
|
||||
import com.intellij.testFramework.LightProjectDescriptor;
|
||||
import com.intellij.testFramework.fixtures.LightCodeInsightFixtureTestCase;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jet.JetLightProjectDescriptor;
|
||||
import org.jetbrains.jet.lang.psi.JetFile;
|
||||
import org.jetbrains.jet.lang.psi.JetNamespace;
|
||||
import org.jetbrains.jet.parsing.JetParsingTest;
|
||||
@@ -24,7 +27,7 @@ public class NamespaceGenTest extends LightCodeInsightFixtureTestCase {
|
||||
}
|
||||
|
||||
public void testPSVM() throws Exception {
|
||||
myFixture.configureByFile(JetParsingTest.getTestDataDir() + "/codegen/PSVM.jet");
|
||||
loadFile("PSVM.jet");
|
||||
final String text = generateToText();
|
||||
System.out.println(text);
|
||||
|
||||
@@ -67,6 +70,19 @@ public class NamespaceGenTest extends LightCodeInsightFixtureTestCase {
|
||||
assertEquals(new Integer(50), returnValue);
|
||||
}
|
||||
|
||||
public void testCurrentTime() throws Exception {
|
||||
loadFile("currentTime.jet");
|
||||
final Class aClass = generateToClass();
|
||||
final Method main = firstMethod(aClass);
|
||||
final long returnValue = (Long) main.invoke(null);
|
||||
long currentTime = System.currentTimeMillis();
|
||||
assertTrue(Math.abs(returnValue - currentTime) <= 1L);
|
||||
}
|
||||
|
||||
private void loadFile(final String name) {
|
||||
myFixture.configureByFile(JetParsingTest.getTestDataDir() + "/codegen/" + name);
|
||||
}
|
||||
|
||||
private String generateToText() {
|
||||
StringWriter writer = new StringWriter();
|
||||
JetFile jetFile = (JetFile) myFixture.getFile();
|
||||
@@ -104,4 +120,10 @@ public class NamespaceGenTest extends LightCodeInsightFixtureTestCase {
|
||||
return super.loadClass(name);
|
||||
}
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
protected LightProjectDescriptor getProjectDescriptor() {
|
||||
return JetLightProjectDescriptor.INSTANCE;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -114,6 +114,10 @@ public class JetResolveTest extends ExtensibleResolveTestCase {
|
||||
|
||||
@Override
|
||||
protected Sdk getProjectJDK() {
|
||||
return jdkFromIdeaHome();
|
||||
}
|
||||
|
||||
public static Sdk jdkFromIdeaHome() {
|
||||
Properties properties = new Properties();
|
||||
try {
|
||||
FileReader reader = new FileReader(getHomeDirectory() + "/idea/idea.properties");
|
||||
|
||||
Reference in New Issue
Block a user