[IR] Extract toString interpretation test of float value into new file
We need to distinguish `toString` results for JVM and JS
This commit is contained in:
-11
@@ -87,12 +87,6 @@ const val equals2 = <!EVALUATED("true")!>twoVal == twoVal<!>
|
||||
const val equals3 = <!EVALUATED("false")!>threeVal == twoVal<!>
|
||||
const val equals4 = <!EVALUATED("false")!>fourVal == twoVal<!>
|
||||
|
||||
const val toString1 = oneVal.<!EVALUATED("1.0")!>toString()<!>
|
||||
const val toString2 = twoVal.<!EVALUATED("2.0")!>toString()<!>
|
||||
const val toString3 = oneAndAHalf.<!EVALUATED("1.5")!>toString()<!>
|
||||
|
||||
fun <T> T.id(): T = this
|
||||
|
||||
fun box(): String {
|
||||
if (<!EVALUATED("false")!>compareTo1 != -1<!>) return "Fail 1.1"
|
||||
if (<!EVALUATED("false")!>compareTo2 != 0<!>) return "Fail 1.2"
|
||||
@@ -164,10 +158,5 @@ fun box(): String {
|
||||
if (<!EVALUATED("false")!>equals3 != false<!>) return "Fail 9.3"
|
||||
if (<!EVALUATED("false")!>equals4 != false<!>) return "Fail 9.4"
|
||||
|
||||
// id is needed to avoid evaluation and so match different cases for JVM and JS
|
||||
if (<!EVALUATED("1.0")!>toString1<!>.id() != "1.0" && <!EVALUATED("1.0")!>toString1<!>.id() != "1" /* JS */) return "Fail 10.1"
|
||||
if (<!EVALUATED("2.0")!>toString2<!>.id() != "2.0" && <!EVALUATED("2.0")!>toString2<!>.id() != "2" /* JS */) return "Fail 10.2"
|
||||
if (<!EVALUATED("1.5")!>toString3<!>.id() != "1.5") return "Fail 10.3"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
|
||||
-11
@@ -87,12 +87,6 @@ const val equals2 = <!EVALUATED("true")!>twoVal == twoVal<!>
|
||||
const val equals3 = <!EVALUATED("false")!>threeVal == twoVal<!>
|
||||
const val equals4 = <!EVALUATED("false")!>fourVal == twoVal<!>
|
||||
|
||||
const val toString1 = oneVal.<!EVALUATED("1.0")!>toString()<!>
|
||||
const val toString2 = twoVal.<!EVALUATED("2.0")!>toString()<!>
|
||||
const val toString3 = oneAndAHalf.<!EVALUATED("1.5")!>toString()<!>
|
||||
|
||||
fun <T> T.id(): T = this
|
||||
|
||||
fun box(): String {
|
||||
if (<!EVALUATED("false")!>compareTo1 != -1<!>) return "Fail 1.1"
|
||||
if (<!EVALUATED("false")!>compareTo2 != 0<!>) return "Fail 1.2"
|
||||
@@ -164,10 +158,5 @@ fun box(): String {
|
||||
if (<!EVALUATED("false")!>equals3 != false<!>) return "Fail 9.3"
|
||||
if (<!EVALUATED("false")!>equals4 != false<!>) return "Fail 9.4"
|
||||
|
||||
// id is needed to avoid evaluation and so match different cases for JVM and JS
|
||||
if (<!EVALUATED("1.0")!>toString1<!>.id() != "1.0" && <!EVALUATED("1.0")!>toString1<!>.id() != "1" /* JS */) return "Fail 10.1"
|
||||
if (<!EVALUATED("2.0")!>toString2<!>.id() != "2.0" && <!EVALUATED("2.0")!>toString2<!>.id() != "2" /* JS */) return "Fail 10.2"
|
||||
if (<!EVALUATED("1.5")!>toString3<!>.id() != "1.5") return "Fail 10.3"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
|
||||
Vendored
+27
@@ -0,0 +1,27 @@
|
||||
// TARGET_BACKEND: JS_IR
|
||||
// IGNORE_BACKEND_K1: JS_IR, JS_IR_ES6
|
||||
|
||||
const val toStringDouble1 = 1.0.<!EVALUATED("1")!>toString()<!>
|
||||
const val toStringDouble2 = 2.0.<!EVALUATED("2")!>toString()<!>
|
||||
const val toStringDouble3 = 1.5.<!EVALUATED("1.5")!>toString()<!>
|
||||
|
||||
const val toStringFloat1 = 1.0f.<!EVALUATED("1")!>toString()<!>
|
||||
const val toStringFloat2 = 2.0f.<!EVALUATED("2")!>toString()<!>
|
||||
const val toStringFloat3 = 1.5f.<!EVALUATED("1.5")!>toString()<!>
|
||||
|
||||
fun box(): String {
|
||||
if (<!EVALUATED("false")!>toStringDouble1 != "1"<!>) return "Fail 1.1"
|
||||
if (<!EVALUATED("false")!>toStringDouble2 != "2"<!>) return "Fail 1.2"
|
||||
if (<!EVALUATED("false")!>toStringDouble3 != "1.5"<!>) return "Fail 1.3"
|
||||
|
||||
if (<!EVALUATED("false")!>toStringFloat1 != "1"<!>) return "Fail 2.1"
|
||||
if (<!EVALUATED("false")!>toStringFloat2 != "2"<!>) return "Fail 2.2"
|
||||
if (<!EVALUATED("false")!>toStringFloat3 != "1.5"<!>) return "Fail 2.3"
|
||||
|
||||
val localDoubleToString = 1.0.<!EVALUATED("1")!>toString()<!>
|
||||
val localFloatToString = 1.0f.<!EVALUATED("1")!>toString()<!>
|
||||
if (localDoubleToString != <!EVALUATED("1")!>toStringDouble1<!>) return "Fail 3.1"
|
||||
if (localFloatToString != <!EVALUATED("1")!>toStringFloat1<!>) return "Fail 3.2"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
Vendored
+27
@@ -0,0 +1,27 @@
|
||||
// TARGET_BACKEND: JVM_IR
|
||||
// TARGET_BACKEND: NATIVE
|
||||
|
||||
const val toStringDouble1 = 1.0.<!EVALUATED("1.0")!>toString()<!>
|
||||
const val toStringDouble2 = 2.0.<!EVALUATED("2.0")!>toString()<!>
|
||||
const val toStringDouble3 = 1.5.<!EVALUATED("1.5")!>toString()<!>
|
||||
|
||||
const val toStringFloat1 = 1.0f.<!EVALUATED("1.0")!>toString()<!>
|
||||
const val toStringFloat2 = 2.0f.<!EVALUATED("2.0")!>toString()<!>
|
||||
const val toStringFloat3 = 1.5f.<!EVALUATED("1.5")!>toString()<!>
|
||||
|
||||
fun box(): String {
|
||||
if (<!EVALUATED("false")!>toStringDouble1 != "1.0"<!>) return "Fail 1.1"
|
||||
if (<!EVALUATED("false")!>toStringDouble2 != "2.0"<!>) return "Fail 1.2"
|
||||
if (<!EVALUATED("false")!>toStringDouble3 != "1.5"<!>) return "Fail 1.3"
|
||||
|
||||
if (<!EVALUATED("false")!>toStringFloat1 != "1.0"<!>) return "Fail 2.1"
|
||||
if (<!EVALUATED("false")!>toStringFloat2 != "2.0"<!>) return "Fail 2.2"
|
||||
if (<!EVALUATED("false")!>toStringFloat3 != "1.5"<!>) return "Fail 2.3"
|
||||
|
||||
val localDoubleToString = 1.0.<!EVALUATED("1.0")!>toString()<!>
|
||||
val localFloatToString = 1.0f.<!EVALUATED("1.0")!>toString()<!>
|
||||
if (localDoubleToString != <!EVALUATED("1.0")!>toStringDouble1<!>) return "Fail 3.1"
|
||||
if (localFloatToString != <!EVALUATED("1.0")!>toStringFloat1<!>) return "Fail 3.2"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
// TARGET_BACKEND: JS_IR
|
||||
// IGNORE_BACKEND_K1: JS_IR, JS_IR_ES6
|
||||
|
||||
const val toStringInConst = 1.0.<!EVALUATED("1")!>toString()<!>
|
||||
|
||||
fun box(): String {
|
||||
if (<!EVALUATED("false")!>toStringInConst != "1"<!>) return "Fail 1"
|
||||
if (<!EVALUATED("false")!>1.0.toString() != toStringInConst<!>) return "Fail 2"
|
||||
return "OK"
|
||||
}
|
||||
Reference in New Issue
Block a user