test(KT-31614): fixate behavior of serialization/deserialization of UTF characters.
This commit is contained in:
+5
@@ -170,6 +170,11 @@ public class InvalidationTestGenerated extends AbstractInvalidationTest {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/transitiveInlineFunction/");
|
||||
}
|
||||
|
||||
@TestMetadata("unicodeSerializationAndDeserialization")
|
||||
public void testUnicodeSerializationAndDeserialization() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/unicodeSerializationAndDeserialization/");
|
||||
}
|
||||
|
||||
@TestMetadata("variance")
|
||||
public void testVariance() throws Exception {
|
||||
runTest("js/js.translator/testData/incremental/invalidation/variance/");
|
||||
|
||||
js/js.translator/testData/incremental/invalidation/unicodeSerializationAndDeserialization/lib1/l1.kt
Vendored
+1
@@ -0,0 +1 @@
|
||||
fun foo() = "\uD800"
|
||||
+1
@@ -0,0 +1 @@
|
||||
fun foo() = "\uDB6A"
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
STEP 0:
|
||||
dependencies: stdlib
|
||||
dirty: l1.kt
|
||||
STEP 1:
|
||||
dependencies: stdlib
|
||||
modifications:
|
||||
U : l1.kt.1.txt -> l1.kt
|
||||
dirty: l1.kt
|
||||
STEP 2:
|
||||
flags: FP
|
||||
dependencies: stdlib
|
||||
js/js.translator/testData/incremental/invalidation/unicodeSerializationAndDeserialization/lib2/l2.kt
Vendored
+2
@@ -0,0 +1,2 @@
|
||||
fun qux() = foo()
|
||||
fun quz() = bar()
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
STEP 0:
|
||||
dependencies: stdlib, lib1, lib3
|
||||
dirty: l2.kt
|
||||
STEP 1:
|
||||
dependencies: stdlib, lib1, lib3
|
||||
STEP 2:
|
||||
dependencies: stdlib, lib1, lib3
|
||||
js/js.translator/testData/incremental/invalidation/unicodeSerializationAndDeserialization/lib3/l3.kt
Vendored
+1
@@ -0,0 +1 @@
|
||||
fun bar() = "\uD800"
|
||||
+1
@@ -0,0 +1 @@
|
||||
fun bar() = "\uDFFF"
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
STEP 0:
|
||||
dependencies: stdlib
|
||||
dirty: l3.kt
|
||||
STEP 1:
|
||||
dependencies: stdlib
|
||||
flags: FP
|
||||
STEP 2:
|
||||
dependencies: stdlib
|
||||
modifications:
|
||||
U : l3.kt.2.txt -> l3.kt
|
||||
dirty: l3.kt
|
||||
Vendored
+24
@@ -0,0 +1,24 @@
|
||||
|
||||
fun box(step: Int): String {
|
||||
return when (step) {
|
||||
0 -> checkStep(step, qux = "\uD800", quz = "\uD800")
|
||||
1 -> checkStep(step, qux = "\uDB6A", quz = "\uD800")
|
||||
2 -> checkStep(step, qux = "\uDB6A", quz = "\uDFFF")
|
||||
else -> "Unknown Step"
|
||||
}
|
||||
}
|
||||
|
||||
fun checkStep(step: Int, qux: String, quz: String): String {
|
||||
val a = qux()
|
||||
val b = quz()
|
||||
|
||||
if (a != qux || a == "?") {
|
||||
return "Fail(qux): Step $step"
|
||||
}
|
||||
|
||||
if (b != quz || b == "?") {
|
||||
return "Fail(quz): Step $step"
|
||||
}
|
||||
|
||||
return "OK"
|
||||
}
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
STEP 0:
|
||||
dependencies: stdlib, lib1, lib2, lib3
|
||||
dirty: m.kt
|
||||
STEP 1:
|
||||
dependencies: stdlib, lib1, lib2, lib3
|
||||
STEP 2:
|
||||
dependencies: stdlib, lib1, lib2, lib3
|
||||
+11
@@ -0,0 +1,11 @@
|
||||
MODULES: lib1, lib3, lib2, main
|
||||
|
||||
STEP 0:
|
||||
libs: lib1, lib3, lib2, main
|
||||
dirty js: stdlib, lib1, lib2, lib3, main
|
||||
STEP 1:
|
||||
libs: lib1, lib3, lib2, main
|
||||
dirty js: lib1
|
||||
STEP 2:
|
||||
libs: lib1, lib3, lib2, main
|
||||
dirty js: lib3
|
||||
Reference in New Issue
Block a user