47 lines
1.2 KiB
Kotlin
Vendored
47 lines
1.2 KiB
Kotlin
Vendored
// IGNORE_BACKEND: JS
|
|
// !LANGUAGE: +JsAllowInvalidCharsIdentifiersEscaping
|
|
|
|
package foo
|
|
|
|
@JsExport()
|
|
class A {
|
|
val `#invalid@char value`: Int = 41
|
|
val __invalid_char_value: Int = 23
|
|
|
|
var `--invalud char@var`: String = "A: before"
|
|
}
|
|
|
|
class B {
|
|
val `#invalid@char value`: Int = 42
|
|
val __invalid_char_value: Int = 24
|
|
|
|
var `--invalud char@var`: String = "B: before"
|
|
}
|
|
|
|
fun box(): String {
|
|
val a = A()
|
|
val b = B()
|
|
|
|
assertEquals(23, a.__invalid_char_value)
|
|
assertEquals(24, b.__invalid_char_value)
|
|
|
|
assertEquals(41, a.`#invalid@char value`)
|
|
assertEquals(42, b.`#invalid@char value`)
|
|
|
|
assertEquals("A: before", a.`--invalud char@var`)
|
|
assertEquals("B: before", b.`--invalud char@var`)
|
|
|
|
a.`--invalud char@var` = "A: after"
|
|
b.`--invalud char@var` = "B: after"
|
|
|
|
assertEquals("A: after", a.`--invalud char@var`)
|
|
assertEquals("B: after", b.`--invalud char@var`)
|
|
|
|
assertEquals(41, js("a['#invalid@char value']"))
|
|
assertEquals(js("undefined"), js("b['#invalid@char value']"))
|
|
|
|
assertEquals("A: after", js("a['--invalud char@var']"))
|
|
assertEquals(js("undefined"), js("b['--invalud char@var']"))
|
|
|
|
return "OK"
|
|
} |