From 587189433b1bd8929f22d05fffd6f6e9d84e8f1f Mon Sep 17 00:00:00 2001 From: Andrey Breslav Date: Mon, 23 Sep 2013 14:52:50 -0700 Subject: [PATCH] Test that GenerateJavaToKotlinMethodMap has run correctly --- .../jvm/GenerateJavaToKotlinMethodMap.java | 11 ++++++++--- .../jvm/GenerateJavaToKotlinMethodMapTest.java | 14 ++++++++++++++ 2 files changed, 22 insertions(+), 3 deletions(-) create mode 100644 generators/tests/org/jetbrains/jet/generators/jvm/GenerateJavaToKotlinMethodMapTest.java diff --git a/generators/src/org/jetbrains/jet/generators/jvm/GenerateJavaToKotlinMethodMap.java b/generators/src/org/jetbrains/jet/generators/jvm/GenerateJavaToKotlinMethodMap.java index ae4f14e0484..cf5a8c0960f 100644 --- a/generators/src/org/jetbrains/jet/generators/jvm/GenerateJavaToKotlinMethodMap.java +++ b/generators/src/org/jetbrains/jet/generators/jvm/GenerateJavaToKotlinMethodMap.java @@ -57,7 +57,14 @@ public class GenerateJavaToKotlinMethodMap { public static final String BUILTINS_FQNAME_PREFIX = KotlinBuiltIns.BUILT_INS_PACKAGE_FQ_NAME.asString() + "."; + public static final File TARGET_FILE = + new File("compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/kotlinSignature/JavaToKotlinMethodMapGenerated.java"); + public static void main(String[] args) throws IOException { + GeneratorsFileUtil.writeFileIfContentChanged(TARGET_FILE, generateText().toString()); + } + + public static CharSequence generateText() throws IOException { CompilerConfiguration configuration = new CompilerConfiguration(); configuration.add(CLASSPATH_KEY, PathUtil.findRtJar()); @@ -89,9 +96,7 @@ public class GenerateJavaToKotlinMethodMap { printer.println("map = b.build();"); printer.popIndent().println("}"); printer.popIndent().println("}"); - - File file = new File("compiler/frontend.java/src/org/jetbrains/jet/lang/resolve/java/kotlinSignature/JavaToKotlinMethodMapGenerated.java"); - GeneratorsFileUtil.writeFileIfContentChanged(file, buf.toString()); + return buf; } private static class MyMapBuilder extends JavaToKotlinClassMapBuilder { diff --git a/generators/tests/org/jetbrains/jet/generators/jvm/GenerateJavaToKotlinMethodMapTest.java b/generators/tests/org/jetbrains/jet/generators/jvm/GenerateJavaToKotlinMethodMapTest.java new file mode 100644 index 00000000000..4205aa60833 --- /dev/null +++ b/generators/tests/org/jetbrains/jet/generators/jvm/GenerateJavaToKotlinMethodMapTest.java @@ -0,0 +1,14 @@ +package org.jetbrains.jet.generators.jvm; + +import com.intellij.openapi.util.io.FileUtil; +import com.intellij.openapi.util.text.StringUtil; +import junit.framework.Assert; +import junit.framework.TestCase; + +public class GenerateJavaToKotlinMethodMapTest extends TestCase { + public void testGenerateJavaToKotlinMethodMap() throws Exception { + String text = StringUtil.convertLineSeparators(GenerateJavaToKotlinMethodMap.generateText().toString()); + String expected = FileUtil.loadFile(GenerateJavaToKotlinMethodMap.TARGET_FILE, true); + Assert.assertEquals("To fix this problem you need to run GenerateJavaToKotlinMethodMap", expected, text); + } +}