diff --git a/compiler/testData/codegen/regressions/kt434.jet b/compiler/testData/codegen/regressions/kt434.jet new file mode 100644 index 00000000000..e48463642b9 --- /dev/null +++ b/compiler/testData/codegen/regressions/kt434.jet @@ -0,0 +1,13 @@ +import java.net.* + +fun String.decodeURI(encoding : String) : String? = + try { + URLDecoder.decode(this, encoding) + } + catch (e : Throwable) { + null + } + +fun box() : String { + return if("hhh".decodeURI("lala") == null) "OK" else "fail" +} \ No newline at end of file diff --git a/compiler/tests/org/jetbrains/jet/JetLiteFixture.java b/compiler/tests/org/jetbrains/jet/JetLiteFixture.java index 1719cbf181d..f975ba79778 100644 --- a/compiler/tests/org/jetbrains/jet/JetLiteFixture.java +++ b/compiler/tests/org/jetbrains/jet/JetLiteFixture.java @@ -14,6 +14,7 @@ import com.intellij.testFramework.LightVirtualFile; import com.intellij.testFramework.TestDataFile; import com.intellij.testFramework.UsefulTestCase; import org.jetbrains.annotations.NonNls; +import org.jetbrains.jet.compiler.CompileEnvironment; import org.jetbrains.jet.lang.psi.JetFile; import org.jetbrains.jet.plugin.JetLanguage; @@ -48,12 +49,22 @@ public abstract class JetLiteFixture extends UsefulTestCase { @Override protected void setUp() throws Exception { super.setUp(); + createEnvironmentWithMockJdk(); + } + + protected void createEnvironmentWithMockJdk() { myEnvironment = new JetCoreEnvironment(getTestRootDisposable()); final File rtJar = new File(JetTestCaseBuilder.getHomeDirectory(), "compiler/testData/mockJDK-1.7/jre/lib/rt.jar"); myEnvironment.addToClasspath(rtJar); myEnvironment.addToClasspath(new File(JetTestCaseBuilder.getHomeDirectory(), "compiler/testData/mockJDK-1.7/jre/lib/annotations.jar")); } + protected void createEnvironmentWithFullJdk() { + myEnvironment = new JetCoreEnvironment(getTestRootDisposable()); + final File rtJar = CompileEnvironment.findRtJar(true); + myEnvironment.addToClasspath(rtJar); + } + @Override protected void tearDown() throws Exception { myFile = null; diff --git a/compiler/tests/org/jetbrains/jet/codegen/ControlStructuresTest.java b/compiler/tests/org/jetbrains/jet/codegen/ControlStructuresTest.java index f8abdb701b2..11914b419ac 100644 --- a/compiler/tests/org/jetbrains/jet/codegen/ControlStructuresTest.java +++ b/compiler/tests/org/jetbrains/jet/codegen/ControlStructuresTest.java @@ -216,4 +216,9 @@ public class ControlStructuresTest extends CodegenTestCase { public void testKt513() throws Exception { blackBoxFile("regressions/kt513.jet"); } + + public void testKt434() throws Exception { + createEnvironmentWithFullJdk(); + blackBoxFile("regressions/kt434.jet"); + } }