add converted result compilation test
This commit is contained in:
committed by
Yan Zhulanow
parent
1e8769b5f7
commit
31dc8194f1
@@ -0,0 +1,13 @@
|
|||||||
|
|
||||||
|
class R {
|
||||||
|
class id {
|
||||||
|
class object {
|
||||||
|
val item_detail_container = 0
|
||||||
|
val textView1 = 0
|
||||||
|
val password = 0
|
||||||
|
val textView2 = 0
|
||||||
|
val passwordConfirmation = 0
|
||||||
|
val login = 0
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
package android.app
|
||||||
|
import android.view.View
|
||||||
|
|
||||||
|
trait Activity {
|
||||||
|
fun findViewById(id: Int): View?
|
||||||
|
}
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
package android.view
|
||||||
|
|
||||||
|
class View
|
||||||
@@ -1,7 +1,12 @@
|
|||||||
package org.jetbrains.jet.codegen;
|
package org.jetbrains.jet.codegen;
|
||||||
|
|
||||||
|
import com.intellij.openapi.util.Disposer;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.jetbrains.jet.ConfigurationKind;
|
||||||
import org.jetbrains.jet.JetTestCaseBuilder;
|
import org.jetbrains.jet.JetTestCaseBuilder;
|
||||||
|
import org.jetbrains.jet.JetTestUtils;
|
||||||
|
import org.jetbrains.jet.cli.jvm.compiler.JetCoreEnvironment;
|
||||||
|
import org.jetbrains.jet.lang.psi.JetFile;
|
||||||
import org.jetbrains.jet.lang.resolve.android.AndroidUIXmlParser;
|
import org.jetbrains.jet.lang.resolve.android.AndroidUIXmlParser;
|
||||||
import org.jetbrains.jet.test.TestCaseWithTmpdir;
|
import org.jetbrains.jet.test.TestCaseWithTmpdir;
|
||||||
|
|
||||||
@@ -9,9 +14,15 @@ import java.io.File;
|
|||||||
import java.io.FileWriter;
|
import java.io.FileWriter;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Scanner;
|
import java.util.Scanner;
|
||||||
|
|
||||||
public class AndroidXmlTest extends TestCaseWithTmpdir {
|
public class AndroidXmlTest extends TestCaseWithTmpdir {
|
||||||
|
|
||||||
|
private final File singleFile = new File(getTestDataPath() + "/converter/singleFile/layout.xml");
|
||||||
|
private final File fakeActivity = new File(getTestDataPath() + "/fakeHelpers/Activity.kt");
|
||||||
|
private final File fakeView = new File(getTestDataPath() + "/fakeHelpers/View.kt");
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void setUp() throws Exception {
|
public void setUp() throws Exception {
|
||||||
super.setUp();
|
super.setUp();
|
||||||
@@ -36,13 +47,33 @@ public class AndroidXmlTest extends TestCaseWithTmpdir {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void testCompileResult() throws Exception {
|
||||||
|
ArrayList<File> paths = new ArrayList<File>();
|
||||||
|
paths.add(singleFile);
|
||||||
|
String text = new AndroidUIXmlParser(null, paths).parse();
|
||||||
|
JetCoreEnvironment jetCoreEnvironment = JetTestUtils.createEnvironmentWithMockJdkAndIdeaAnnotations(getTestRootDisposable(),
|
||||||
|
ConfigurationKind.ALL);
|
||||||
|
JetFile psiFile = JetTestUtils.createFile(singleFile.getName(), text, jetCoreEnvironment.getProject());
|
||||||
|
JetFile fakeActivityClass = JetTestUtils.loadJetFile(jetCoreEnvironment.getProject(), fakeActivity);
|
||||||
|
JetFile fakeViewClass = JetTestUtils.loadJetFile(jetCoreEnvironment.getProject(), fakeView);
|
||||||
|
JetFile fakeRClass = JetTestUtils.loadJetFile(jetCoreEnvironment.getProject(),
|
||||||
|
new File(getTestDataPath() + "/converter/singleFile/R.kt"));
|
||||||
|
List<JetFile> files = new ArrayList<JetFile>();
|
||||||
|
files.add(psiFile);
|
||||||
|
files.add(fakeActivityClass);
|
||||||
|
files.add(fakeViewClass);
|
||||||
|
files.add(fakeRClass);
|
||||||
|
GenerationUtils.compileManyFilesGetGenerationStateForTest(jetCoreEnvironment.getProject(), files);
|
||||||
|
Disposer.dispose(getTestRootDisposable());
|
||||||
|
}
|
||||||
|
|
||||||
public void testConverterOneFile() throws Exception {
|
public void testConverterOneFile() throws Exception {
|
||||||
ArrayList<File> paths = new ArrayList<File>();
|
ArrayList<File> paths = new ArrayList<File>();
|
||||||
paths.add(new File(getTestDataPath() + "/layout.xml"));
|
paths.add(singleFile);
|
||||||
AndroidUIXmlParser parser = new AndroidUIXmlParser(null, paths);
|
AndroidUIXmlParser parser = new AndroidUIXmlParser(null, paths);
|
||||||
|
|
||||||
String actual = parser.parse();
|
String actual = parser.parse();
|
||||||
String expected = loadOrCreate(new File(getTestDataPath() + "/layout.kt"), actual);
|
String expected = loadOrCreate(new File(getTestDataPath() + "/converter/singleFile/layout.kt"), actual);
|
||||||
|
|
||||||
assertEquals(expected, actual);
|
assertEquals(expected, actual);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user