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;
|
||||
|
||||
import com.intellij.openapi.util.Disposer;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.jet.ConfigurationKind;
|
||||
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.test.TestCaseWithTmpdir;
|
||||
|
||||
@@ -9,9 +14,15 @@ import java.io.File;
|
||||
import java.io.FileWriter;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Scanner;
|
||||
|
||||
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
|
||||
public void setUp() throws Exception {
|
||||
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 {
|
||||
ArrayList<File> paths = new ArrayList<File>();
|
||||
paths.add(new File(getTestDataPath() + "/layout.xml"));
|
||||
paths.add(singleFile);
|
||||
AndroidUIXmlParser parser = new AndroidUIXmlParser(null, paths);
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user