From f3d9d21757c24bb8155653363f5e0abebd8a59cc Mon Sep 17 00:00:00 2001 From: Zalim Bashorov Date: Tue, 21 Oct 2014 19:28:17 +0400 Subject: [PATCH] Added regression tests for KT-3518 Null pointer during null comparison in JS Backend. --- .../jetbrains/k2js/test/semantics/EqualsTest.java | 4 ++++ .../equals/cases/compareNullableListWithNull.kt | 14 ++++++++++++++ 2 files changed, 18 insertions(+) create mode 100644 js/js.translator/testData/expression/equals/cases/compareNullableListWithNull.kt diff --git a/js/js.tests/test/org/jetbrains/k2js/test/semantics/EqualsTest.java b/js/js.tests/test/org/jetbrains/k2js/test/semantics/EqualsTest.java index 30e5d8da47e..07c0d5e8776 100644 --- a/js/js.tests/test/org/jetbrains/k2js/test/semantics/EqualsTest.java +++ b/js/js.tests/test/org/jetbrains/k2js/test/semantics/EqualsTest.java @@ -49,4 +49,8 @@ public final class EqualsTest extends AbstractExpressionTest { public void testEqualsNullOrUndefined() throws Exception { checkFooBoxIsOk(); } + + public void testCompareNullableListWithNull() throws Exception { + checkFooBoxIsOk(); + } } \ No newline at end of file diff --git a/js/js.translator/testData/expression/equals/cases/compareNullableListWithNull.kt b/js/js.translator/testData/expression/equals/cases/compareNullableListWithNull.kt new file mode 100644 index 00000000000..14214dc1c0d --- /dev/null +++ b/js/js.translator/testData/expression/equals/cases/compareNullableListWithNull.kt @@ -0,0 +1,14 @@ +// KT-3518 Null pointer during null comparison in JS Backend +package foo + +class MyClazz(val nullableL : List?) + +fun box(): String { + val a = MyClazz(null) + if(a.nullableL != null) return "a.nullableL != null" + + val b = MyClazz(listOf("somthing")) + if(b.nullableL == null) return "b.nullableL == null" + + return "OK" +} \ No newline at end of file