diff --git a/src/compiler/jsgen.js b/src/compiler/jsgen.js index abc492bf..ebbdc6bf 100644 --- a/src/compiler/jsgen.js +++ b/src/compiler/jsgen.js @@ -297,6 +297,10 @@ class JSGenerator { const left = node.left; const right = node.right; + // When either operand is known to never be a number, only use string comparison to avoid all number parsing. + if (!left.isSometimesType(InputType.NUMBER_INTERPRETABLE) || !right.isSometimesType(InputType.NUMBER_INTERPRETABLE)) { + return `(${this.descendInput(left.toType(InputType.STRING))}.toLowerCase() === ${this.descendInput(right.toType(InputType.STRING))}.toLowerCase())`; + } // When both operands are known to be numbers, we can use === if (left.isAlwaysType(InputType.NUMBER_INTERPRETABLE) && right.isAlwaysType(InputType.NUMBER_INTERPRETABLE)) { return `(${this.descendInput(left.toType(InputType.NUMBER))} === ${this.descendInput(right.toType(InputType.NUMBER))})`; @@ -305,10 +309,6 @@ class JSGenerator { if (isSafeInputForEqualsOptimization(left, right) || isSafeInputForEqualsOptimization(right, left)) { return `(${this.descendInput(left.toType(InputType.NUMBER))} === ${this.descendInput(right.toType(InputType.NUMBER))})`; } - // When either operand is known to never be a number, only use string comparison to avoid all number parsing. - if (!left.isSometimesType(InputType.NUMBER_INTERPRETABLE) || !right.isSometimesType(InputType.NUMBER_INTERPRETABLE)) { - return `(${this.descendInput(left.toType(InputType.STRING))}.toLowerCase() === ${this.descendInput(right.toType(InputType.STRING))}.toLowerCase())`; - } // No compile-time optimizations possible - use fallback method. return `compareEqual(${this.descendInput(left)}, ${this.descendInput(right)})`; } diff --git a/test/fixtures/execute/tw-true-equals-1.sb3 b/test/fixtures/execute/tw-true-equals-1.sb3 new file mode 100644 index 00000000..e76954b9 Binary files /dev/null and b/test/fixtures/execute/tw-true-equals-1.sb3 differ diff --git a/test/snapshot/__snapshots__/tw-comparison-matrix-inline.sb3.tw-snapshot b/test/snapshot/__snapshots__/tw-comparison-matrix-inline.sb3.tw-snapshot index cb8e0dfe..077f68f4 100644 --- a/test/snapshot/__snapshots__/tw-comparison-matrix-inline.sb3.tw-snapshot +++ b/test/snapshot/__snapshots__/tw-comparison-matrix-inline.sb3.tw-snapshot @@ -323,7 +323,7 @@ runtime.ext_scratch3_looks._say("fail 105: 1.23 should be > -1", target); if (!(("" + ("1.23".toLowerCase() < "true".toLowerCase())).toLowerCase() === "true".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 106: 1.23 should be < true", target); } -if (!(("" + (1.23 === 1)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("1.23".toLowerCase() === "true".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 107: 1.23 should be = true", target); } if (!(("" + ("1.23".toLowerCase() > "true".toLowerCase())).toLowerCase() === "false".toLowerCase())) { @@ -332,7 +332,7 @@ runtime.ext_scratch3_looks._say("fail 108: 1.23 should be > true", target); if (!(("" + ("1.23".toLowerCase() < "false".toLowerCase())).toLowerCase() === "true".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 109: 1.23 should be < false", target); } -if (!(("" + (1.23 === 0)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("1.23".toLowerCase() === "false".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 110: 1.23 should be = false", target); } if (!(("" + ("1.23".toLowerCase() > "false".toLowerCase())).toLowerCase() === "false".toLowerCase())) { @@ -341,7 +341,7 @@ runtime.ext_scratch3_looks._say("fail 111: 1.23 should be > false", target); if (!(("" + ("1.23".toLowerCase() < "NaN".toLowerCase())).toLowerCase() === "true".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 112: 1.23 should be < NaN", target); } -if (!(("" + (1.23 === 0)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("1.23".toLowerCase() === "NaN".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 113: 1.23 should be = NaN", target); } if (!(("" + ("1.23".toLowerCase() > "NaN".toLowerCase())).toLowerCase() === "false".toLowerCase())) { @@ -359,7 +359,7 @@ runtime.ext_scratch3_looks._say("fail 117: 1.23 should be > Infinity", target); if (!(("" + ("1.23".toLowerCase() < "banana".toLowerCase())).toLowerCase() === "true".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 118: 1.23 should be < banana", target); } -if (!(("" + (1.23 === 0)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("1.23".toLowerCase() === "banana".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 119: 1.23 should be = banana", target); } if (!(("" + ("1.23".toLowerCase() > "banana".toLowerCase())).toLowerCase() === "false".toLowerCase())) { @@ -368,7 +368,7 @@ runtime.ext_scratch3_looks._say("fail 120: 1.23 should be > banana", target); if (!(("" + ("1.23".toLowerCase() < "🎉".toLowerCase())).toLowerCase() === "true".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 121: 1.23 should be < 🎉", target); } -if (!(("" + (1.23 === 0)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("1.23".toLowerCase() === "🎉".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 122: 1.23 should be = 🎉", target); } if (!(("" + ("1.23".toLowerCase() > "🎉".toLowerCase())).toLowerCase() === "false".toLowerCase())) { @@ -377,7 +377,7 @@ runtime.ext_scratch3_looks._say("fail 123: 1.23 should be > 🎉", target); if (!(("" + ("1.23".toLowerCase() < "".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 124: 1.23 should be < ", target); } -if (!(("" + (1.23 === 0)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("1.23".toLowerCase() === "".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 125: 1.23 should be = ", target); } if (!(("" + ("1.23".toLowerCase() > "".toLowerCase())).toLowerCase() === "true".toLowerCase())) { @@ -449,7 +449,7 @@ runtime.ext_scratch3_looks._say("fail 147: .23 should be > -1", target); if (!(("" + (".23".toLowerCase() < "true".toLowerCase())).toLowerCase() === "true".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 148: .23 should be < true", target); } -if (!(("" + (0.23 === 1)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + (".23".toLowerCase() === "true".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 149: .23 should be = true", target); } if (!(("" + (".23".toLowerCase() > "true".toLowerCase())).toLowerCase() === "false".toLowerCase())) { @@ -458,7 +458,7 @@ runtime.ext_scratch3_looks._say("fail 150: .23 should be > true", target); if (!(("" + (".23".toLowerCase() < "false".toLowerCase())).toLowerCase() === "true".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 151: .23 should be < false", target); } -if (!(("" + (0.23 === 0)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + (".23".toLowerCase() === "false".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 152: .23 should be = false", target); } if (!(("" + (".23".toLowerCase() > "false".toLowerCase())).toLowerCase() === "false".toLowerCase())) { @@ -467,7 +467,7 @@ runtime.ext_scratch3_looks._say("fail 153: .23 should be > false", target); if (!(("" + (".23".toLowerCase() < "NaN".toLowerCase())).toLowerCase() === "true".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 154: .23 should be < NaN", target); } -if (!(("" + (0.23 === 0)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + (".23".toLowerCase() === "NaN".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 155: .23 should be = NaN", target); } if (!(("" + (".23".toLowerCase() > "NaN".toLowerCase())).toLowerCase() === "false".toLowerCase())) { @@ -485,7 +485,7 @@ runtime.ext_scratch3_looks._say("fail 159: .23 should be > Infinity", target); if (!(("" + (".23".toLowerCase() < "banana".toLowerCase())).toLowerCase() === "true".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 160: .23 should be < banana", target); } -if (!(("" + (0.23 === 0)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + (".23".toLowerCase() === "banana".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 161: .23 should be = banana", target); } if (!(("" + (".23".toLowerCase() > "banana".toLowerCase())).toLowerCase() === "false".toLowerCase())) { @@ -494,7 +494,7 @@ runtime.ext_scratch3_looks._say("fail 162: .23 should be > banana", target); if (!(("" + (".23".toLowerCase() < "🎉".toLowerCase())).toLowerCase() === "true".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 163: .23 should be < 🎉", target); } -if (!(("" + (0.23 === 0)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + (".23".toLowerCase() === "🎉".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 164: .23 should be = 🎉", target); } if (!(("" + (".23".toLowerCase() > "🎉".toLowerCase())).toLowerCase() === "false".toLowerCase())) { @@ -503,7 +503,7 @@ runtime.ext_scratch3_looks._say("fail 165: .23 should be > 🎉", target); if (!(("" + (".23".toLowerCase() < "".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 166: .23 should be < ", target); } -if (!(("" + (0.23 === 0)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + (".23".toLowerCase() === "".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 167: .23 should be = ", target); } if (!(("" + (".23".toLowerCase() > "".toLowerCase())).toLowerCase() === "true".toLowerCase())) { @@ -575,7 +575,7 @@ runtime.ext_scratch3_looks._say("fail 189: 0.123 should be > -1", target); if (!(("" + ("0.123".toLowerCase() < "true".toLowerCase())).toLowerCase() === "true".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 190: 0.123 should be < true", target); } -if (!(("" + (0.123 === 1)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("0.123".toLowerCase() === "true".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 191: 0.123 should be = true", target); } if (!(("" + ("0.123".toLowerCase() > "true".toLowerCase())).toLowerCase() === "false".toLowerCase())) { @@ -584,7 +584,7 @@ runtime.ext_scratch3_looks._say("fail 192: 0.123 should be > true", target); if (!(("" + ("0.123".toLowerCase() < "false".toLowerCase())).toLowerCase() === "true".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 193: 0.123 should be < false", target); } -if (!(("" + (0.123 === 0)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("0.123".toLowerCase() === "false".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 194: 0.123 should be = false", target); } if (!(("" + ("0.123".toLowerCase() > "false".toLowerCase())).toLowerCase() === "false".toLowerCase())) { @@ -593,7 +593,7 @@ runtime.ext_scratch3_looks._say("fail 195: 0.123 should be > false", target); if (!(("" + ("0.123".toLowerCase() < "NaN".toLowerCase())).toLowerCase() === "true".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 196: 0.123 should be < NaN", target); } -if (!(("" + (0.123 === 0)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("0.123".toLowerCase() === "NaN".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 197: 0.123 should be = NaN", target); } if (!(("" + ("0.123".toLowerCase() > "NaN".toLowerCase())).toLowerCase() === "false".toLowerCase())) { @@ -611,7 +611,7 @@ runtime.ext_scratch3_looks._say("fail 201: 0.123 should be > Infinity", target); if (!(("" + ("0.123".toLowerCase() < "banana".toLowerCase())).toLowerCase() === "true".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 202: 0.123 should be < banana", target); } -if (!(("" + (0.123 === 0)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("0.123".toLowerCase() === "banana".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 203: 0.123 should be = banana", target); } if (!(("" + ("0.123".toLowerCase() > "banana".toLowerCase())).toLowerCase() === "false".toLowerCase())) { @@ -620,7 +620,7 @@ runtime.ext_scratch3_looks._say("fail 204: 0.123 should be > banana", target); if (!(("" + ("0.123".toLowerCase() < "🎉".toLowerCase())).toLowerCase() === "true".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 205: 0.123 should be < 🎉", target); } -if (!(("" + (0.123 === 0)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("0.123".toLowerCase() === "🎉".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 206: 0.123 should be = 🎉", target); } if (!(("" + ("0.123".toLowerCase() > "🎉".toLowerCase())).toLowerCase() === "false".toLowerCase())) { @@ -629,7 +629,7 @@ runtime.ext_scratch3_looks._say("fail 207: 0.123 should be > 🎉", target); if (!(("" + ("0.123".toLowerCase() < "".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 208: 0.123 should be < ", target); } -if (!(("" + (0.123 === 0)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("0.123".toLowerCase() === "".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 209: 0.123 should be = ", target); } if (!(("" + ("0.123".toLowerCase() > "".toLowerCase())).toLowerCase() === "true".toLowerCase())) { @@ -827,7 +827,7 @@ runtime.ext_scratch3_looks._say("fail 273: -1 should be > -1", target); if (!(("" + ("-1".toLowerCase() < "true".toLowerCase())).toLowerCase() === "true".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 274: -1 should be < true", target); } -if (!(("" + (-1 === 1)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("-1".toLowerCase() === "true".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 275: -1 should be = true", target); } if (!(("" + ("-1".toLowerCase() > "true".toLowerCase())).toLowerCase() === "false".toLowerCase())) { @@ -836,7 +836,7 @@ runtime.ext_scratch3_looks._say("fail 276: -1 should be > true", target); if (!(("" + ("-1".toLowerCase() < "false".toLowerCase())).toLowerCase() === "true".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 277: -1 should be < false", target); } -if (!(("" + (-1 === 0)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("-1".toLowerCase() === "false".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 278: -1 should be = false", target); } if (!(("" + ("-1".toLowerCase() > "false".toLowerCase())).toLowerCase() === "false".toLowerCase())) { @@ -845,7 +845,7 @@ runtime.ext_scratch3_looks._say("fail 279: -1 should be > false", target); if (!(("" + ("-1".toLowerCase() < "NaN".toLowerCase())).toLowerCase() === "true".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 280: -1 should be < NaN", target); } -if (!(("" + (-1 === 0)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("-1".toLowerCase() === "NaN".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 281: -1 should be = NaN", target); } if (!(("" + ("-1".toLowerCase() > "NaN".toLowerCase())).toLowerCase() === "false".toLowerCase())) { @@ -863,7 +863,7 @@ runtime.ext_scratch3_looks._say("fail 285: -1 should be > Infinity", target); if (!(("" + ("-1".toLowerCase() < "banana".toLowerCase())).toLowerCase() === "true".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 286: -1 should be < banana", target); } -if (!(("" + (-1 === 0)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("-1".toLowerCase() === "banana".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 287: -1 should be = banana", target); } if (!(("" + ("-1".toLowerCase() > "banana".toLowerCase())).toLowerCase() === "false".toLowerCase())) { @@ -872,7 +872,7 @@ runtime.ext_scratch3_looks._say("fail 288: -1 should be > banana", target); if (!(("" + ("-1".toLowerCase() < "🎉".toLowerCase())).toLowerCase() === "true".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 289: -1 should be < 🎉", target); } -if (!(("" + (-1 === 0)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("-1".toLowerCase() === "🎉".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 290: -1 should be = 🎉", target); } if (!(("" + ("-1".toLowerCase() > "🎉".toLowerCase())).toLowerCase() === "false".toLowerCase())) { @@ -881,7 +881,7 @@ runtime.ext_scratch3_looks._say("fail 291: -1 should be > 🎉", target); if (!(("" + ("-1".toLowerCase() < "".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 292: -1 should be < ", target); } -if (!(("" + (-1 === 0)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("-1".toLowerCase() === "".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 293: -1 should be = ", target); } if (!(("" + ("-1".toLowerCase() > "".toLowerCase())).toLowerCase() === "true".toLowerCase())) { @@ -908,7 +908,7 @@ runtime.ext_scratch3_looks._say("fail 300: true should be > 0.0", target); if (!(("" + ("true".toLowerCase() < "1.23".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 301: true should be < 1.23", target); } -if (!(("" + (1 === 1.23)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("true".toLowerCase() === "1.23".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 302: true should be = 1.23", target); } if (!(("" + ("true".toLowerCase() > "1.23".toLowerCase())).toLowerCase() === "true".toLowerCase())) { @@ -917,7 +917,7 @@ runtime.ext_scratch3_looks._say("fail 303: true should be > 1.23", target); if (!(("" + ("true".toLowerCase() < ".23".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 304: true should be < .23", target); } -if (!(("" + (1 === 0.23)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("true".toLowerCase() === ".23".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 305: true should be = .23", target); } if (!(("" + ("true".toLowerCase() > ".23".toLowerCase())).toLowerCase() === "true".toLowerCase())) { @@ -926,7 +926,7 @@ runtime.ext_scratch3_looks._say("fail 306: true should be > .23", target); if (!(("" + ("true".toLowerCase() < "0.123".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 307: true should be < 0.123", target); } -if (!(("" + (1 === 0.123)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("true".toLowerCase() === "0.123".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 308: true should be = 0.123", target); } if (!(("" + ("true".toLowerCase() > "0.123".toLowerCase())).toLowerCase() === "true".toLowerCase())) { @@ -944,7 +944,7 @@ runtime.ext_scratch3_looks._say("fail 312: true should be > -0", target); if (!(("" + ("true".toLowerCase() < "-1".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 313: true should be < -1", target); } -if (!(("" + (1 === -1)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("true".toLowerCase() === "-1".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 314: true should be = -1", target); } if (!(("" + ("true".toLowerCase() > "-1".toLowerCase())).toLowerCase() === "true".toLowerCase())) { @@ -980,7 +980,7 @@ runtime.ext_scratch3_looks._say("fail 324: true should be > NaN", target); if (!(("" + ("true".toLowerCase() < "Infinity".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 325: true should be < Infinity", target); } -if (!(("" + (1 === Infinity)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("true".toLowerCase() === "Infinity".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 326: true should be = Infinity", target); } if (!(("" + ("true".toLowerCase() > "Infinity".toLowerCase())).toLowerCase() === "true".toLowerCase())) { @@ -1034,7 +1034,7 @@ runtime.ext_scratch3_looks._say("fail 342: false should be > 0.0", target); if (!(("" + ("false".toLowerCase() < "1.23".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 343: false should be < 1.23", target); } -if (!(("" + (0 === 1.23)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("false".toLowerCase() === "1.23".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 344: false should be = 1.23", target); } if (!(("" + ("false".toLowerCase() > "1.23".toLowerCase())).toLowerCase() === "true".toLowerCase())) { @@ -1043,7 +1043,7 @@ runtime.ext_scratch3_looks._say("fail 345: false should be > 1.23", target); if (!(("" + ("false".toLowerCase() < ".23".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 346: false should be < .23", target); } -if (!(("" + (0 === 0.23)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("false".toLowerCase() === ".23".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 347: false should be = .23", target); } if (!(("" + ("false".toLowerCase() > ".23".toLowerCase())).toLowerCase() === "true".toLowerCase())) { @@ -1052,7 +1052,7 @@ runtime.ext_scratch3_looks._say("fail 348: false should be > .23", target); if (!(("" + ("false".toLowerCase() < "0.123".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 349: false should be < 0.123", target); } -if (!(("" + (0 === 0.123)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("false".toLowerCase() === "0.123".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 350: false should be = 0.123", target); } if (!(("" + ("false".toLowerCase() > "0.123".toLowerCase())).toLowerCase() === "true".toLowerCase())) { @@ -1070,7 +1070,7 @@ runtime.ext_scratch3_looks._say("fail 354: false should be > -0", target); if (!(("" + ("false".toLowerCase() < "-1".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 355: false should be < -1", target); } -if (!(("" + (0 === -1)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("false".toLowerCase() === "-1".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 356: false should be = -1", target); } if (!(("" + ("false".toLowerCase() > "-1".toLowerCase())).toLowerCase() === "true".toLowerCase())) { @@ -1106,7 +1106,7 @@ runtime.ext_scratch3_looks._say("fail 366: false should be > NaN", target); if (!(("" + ("false".toLowerCase() < "Infinity".toLowerCase())).toLowerCase() === "true".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 367: false should be < Infinity", target); } -if (!(("" + (0 === Infinity)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("false".toLowerCase() === "Infinity".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 368: false should be = Infinity", target); } if (!(("" + ("false".toLowerCase() > "Infinity".toLowerCase())).toLowerCase() === "false".toLowerCase())) { @@ -1160,7 +1160,7 @@ runtime.ext_scratch3_looks._say("fail 384: NaN should be > 0.0", target); if (!(("" + ("NaN".toLowerCase() < "1.23".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 385: NaN should be < 1.23", target); } -if (!(("" + (0 === 1.23)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("NaN".toLowerCase() === "1.23".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 386: NaN should be = 1.23", target); } if (!(("" + ("NaN".toLowerCase() > "1.23".toLowerCase())).toLowerCase() === "true".toLowerCase())) { @@ -1169,7 +1169,7 @@ runtime.ext_scratch3_looks._say("fail 387: NaN should be > 1.23", target); if (!(("" + ("NaN".toLowerCase() < ".23".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 388: NaN should be < .23", target); } -if (!(("" + (0 === 0.23)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("NaN".toLowerCase() === ".23".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 389: NaN should be = .23", target); } if (!(("" + ("NaN".toLowerCase() > ".23".toLowerCase())).toLowerCase() === "true".toLowerCase())) { @@ -1178,7 +1178,7 @@ runtime.ext_scratch3_looks._say("fail 390: NaN should be > .23", target); if (!(("" + ("NaN".toLowerCase() < "0.123".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 391: NaN should be < 0.123", target); } -if (!(("" + (0 === 0.123)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("NaN".toLowerCase() === "0.123".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 392: NaN should be = 0.123", target); } if (!(("" + ("NaN".toLowerCase() > "0.123".toLowerCase())).toLowerCase() === "true".toLowerCase())) { @@ -1196,7 +1196,7 @@ runtime.ext_scratch3_looks._say("fail 396: NaN should be > -0", target); if (!(("" + ("NaN".toLowerCase() < "-1".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 397: NaN should be < -1", target); } -if (!(("" + (0 === -1)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("NaN".toLowerCase() === "-1".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 398: NaN should be = -1", target); } if (!(("" + ("NaN".toLowerCase() > "-1".toLowerCase())).toLowerCase() === "true".toLowerCase())) { @@ -1232,7 +1232,7 @@ runtime.ext_scratch3_looks._say("fail 408: NaN should be > NaN", target); if (!(("" + ("NaN".toLowerCase() < "Infinity".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 409: NaN should be < Infinity", target); } -if (!(("" + (0 === Infinity)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("NaN".toLowerCase() === "Infinity".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 410: NaN should be = Infinity", target); } if (!(("" + ("NaN".toLowerCase() > "Infinity".toLowerCase())).toLowerCase() === "true".toLowerCase())) { @@ -1331,7 +1331,7 @@ runtime.ext_scratch3_looks._say("fail 441: Infinity should be > -1", target); if (!(("" + ("Infinity".toLowerCase() < "true".toLowerCase())).toLowerCase() === "true".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 442: Infinity should be < true", target); } -if (!(("" + (Infinity === 1)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("Infinity".toLowerCase() === "true".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 443: Infinity should be = true", target); } if (!(("" + ("Infinity".toLowerCase() > "true".toLowerCase())).toLowerCase() === "false".toLowerCase())) { @@ -1340,7 +1340,7 @@ runtime.ext_scratch3_looks._say("fail 444: Infinity should be > true", target); if (!(("" + ("Infinity".toLowerCase() < "false".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 445: Infinity should be < false", target); } -if (!(("" + (Infinity === 0)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("Infinity".toLowerCase() === "false".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 446: Infinity should be = false", target); } if (!(("" + ("Infinity".toLowerCase() > "false".toLowerCase())).toLowerCase() === "true".toLowerCase())) { @@ -1349,7 +1349,7 @@ runtime.ext_scratch3_looks._say("fail 447: Infinity should be > false", target); if (!(("" + ("Infinity".toLowerCase() < "NaN".toLowerCase())).toLowerCase() === "true".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 448: Infinity should be < NaN", target); } -if (!(("" + (Infinity === 0)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("Infinity".toLowerCase() === "NaN".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 449: Infinity should be = NaN", target); } if (!(("" + ("Infinity".toLowerCase() > "NaN".toLowerCase())).toLowerCase() === "false".toLowerCase())) { @@ -1367,7 +1367,7 @@ runtime.ext_scratch3_looks._say("fail 453: Infinity should be > Infinity", targe if (!(("" + ("Infinity".toLowerCase() < "banana".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 454: Infinity should be < banana", target); } -if (!(("" + (Infinity === 0)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("Infinity".toLowerCase() === "banana".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 455: Infinity should be = banana", target); } if (!(("" + ("Infinity".toLowerCase() > "banana".toLowerCase())).toLowerCase() === "true".toLowerCase())) { @@ -1376,7 +1376,7 @@ runtime.ext_scratch3_looks._say("fail 456: Infinity should be > banana", target) if (!(("" + ("Infinity".toLowerCase() < "🎉".toLowerCase())).toLowerCase() === "true".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 457: Infinity should be < 🎉", target); } -if (!(("" + (Infinity === 0)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("Infinity".toLowerCase() === "🎉".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 458: Infinity should be = 🎉", target); } if (!(("" + ("Infinity".toLowerCase() > "🎉".toLowerCase())).toLowerCase() === "false".toLowerCase())) { @@ -1385,7 +1385,7 @@ runtime.ext_scratch3_looks._say("fail 459: Infinity should be > 🎉", target); if (!(("" + ("Infinity".toLowerCase() < "".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 460: Infinity should be < ", target); } -if (!(("" + (Infinity === 0)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("Infinity".toLowerCase() === "".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 461: Infinity should be = ", target); } if (!(("" + ("Infinity".toLowerCase() > "".toLowerCase())).toLowerCase() === "true".toLowerCase())) { @@ -1412,7 +1412,7 @@ runtime.ext_scratch3_looks._say("fail 468: banana should be > 0.0", target); if (!(("" + ("banana".toLowerCase() < "1.23".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 469: banana should be < 1.23", target); } -if (!(("" + (0 === 1.23)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("banana".toLowerCase() === "1.23".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 470: banana should be = 1.23", target); } if (!(("" + ("banana".toLowerCase() > "1.23".toLowerCase())).toLowerCase() === "true".toLowerCase())) { @@ -1421,7 +1421,7 @@ runtime.ext_scratch3_looks._say("fail 471: banana should be > 1.23", target); if (!(("" + ("banana".toLowerCase() < ".23".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 472: banana should be < .23", target); } -if (!(("" + (0 === 0.23)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("banana".toLowerCase() === ".23".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 473: banana should be = .23", target); } if (!(("" + ("banana".toLowerCase() > ".23".toLowerCase())).toLowerCase() === "true".toLowerCase())) { @@ -1430,7 +1430,7 @@ runtime.ext_scratch3_looks._say("fail 474: banana should be > .23", target); if (!(("" + ("banana".toLowerCase() < "0.123".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 475: banana should be < 0.123", target); } -if (!(("" + (0 === 0.123)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("banana".toLowerCase() === "0.123".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 476: banana should be = 0.123", target); } if (!(("" + ("banana".toLowerCase() > "0.123".toLowerCase())).toLowerCase() === "true".toLowerCase())) { @@ -1448,7 +1448,7 @@ runtime.ext_scratch3_looks._say("fail 480: banana should be > -0", target); if (!(("" + ("banana".toLowerCase() < "-1".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 481: banana should be < -1", target); } -if (!(("" + (0 === -1)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("banana".toLowerCase() === "-1".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 482: banana should be = -1", target); } if (!(("" + ("banana".toLowerCase() > "-1".toLowerCase())).toLowerCase() === "true".toLowerCase())) { @@ -1484,7 +1484,7 @@ runtime.ext_scratch3_looks._say("fail 492: banana should be > NaN", target); if (!(("" + ("banana".toLowerCase() < "Infinity".toLowerCase())).toLowerCase() === "true".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 493: banana should be < Infinity", target); } -if (!(("" + (0 === Infinity)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("banana".toLowerCase() === "Infinity".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 494: banana should be = Infinity", target); } if (!(("" + ("banana".toLowerCase() > "Infinity".toLowerCase())).toLowerCase() === "false".toLowerCase())) { @@ -1538,7 +1538,7 @@ runtime.ext_scratch3_looks._say("fail 510: 🎉 should be > 0.0", target); if (!(("" + ("🎉".toLowerCase() < "1.23".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 511: 🎉 should be < 1.23", target); } -if (!(("" + (0 === 1.23)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("🎉".toLowerCase() === "1.23".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 512: 🎉 should be = 1.23", target); } if (!(("" + ("🎉".toLowerCase() > "1.23".toLowerCase())).toLowerCase() === "true".toLowerCase())) { @@ -1547,7 +1547,7 @@ runtime.ext_scratch3_looks._say("fail 513: 🎉 should be > 1.23", target); if (!(("" + ("🎉".toLowerCase() < ".23".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 514: 🎉 should be < .23", target); } -if (!(("" + (0 === 0.23)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("🎉".toLowerCase() === ".23".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 515: 🎉 should be = .23", target); } if (!(("" + ("🎉".toLowerCase() > ".23".toLowerCase())).toLowerCase() === "true".toLowerCase())) { @@ -1556,7 +1556,7 @@ runtime.ext_scratch3_looks._say("fail 516: 🎉 should be > .23", target); if (!(("" + ("🎉".toLowerCase() < "0.123".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 517: 🎉 should be < 0.123", target); } -if (!(("" + (0 === 0.123)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("🎉".toLowerCase() === "0.123".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 518: 🎉 should be = 0.123", target); } if (!(("" + ("🎉".toLowerCase() > "0.123".toLowerCase())).toLowerCase() === "true".toLowerCase())) { @@ -1574,7 +1574,7 @@ runtime.ext_scratch3_looks._say("fail 522: 🎉 should be > -0", target); if (!(("" + ("🎉".toLowerCase() < "-1".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 523: 🎉 should be < -1", target); } -if (!(("" + (0 === -1)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("🎉".toLowerCase() === "-1".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 524: 🎉 should be = -1", target); } if (!(("" + ("🎉".toLowerCase() > "-1".toLowerCase())).toLowerCase() === "true".toLowerCase())) { @@ -1610,7 +1610,7 @@ runtime.ext_scratch3_looks._say("fail 534: 🎉 should be > NaN", target); if (!(("" + ("🎉".toLowerCase() < "Infinity".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 535: 🎉 should be < Infinity", target); } -if (!(("" + (0 === Infinity)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("🎉".toLowerCase() === "Infinity".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 536: 🎉 should be = Infinity", target); } if (!(("" + ("🎉".toLowerCase() > "Infinity".toLowerCase())).toLowerCase() === "true".toLowerCase())) { @@ -1664,7 +1664,7 @@ runtime.ext_scratch3_looks._say("fail 552: should be > 0.0", target); if (!(("" + ("".toLowerCase() < "1.23".toLowerCase())).toLowerCase() === "true".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 553: should be < 1.23", target); } -if (!(("" + (0 === 1.23)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("".toLowerCase() === "1.23".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 554: should be = 1.23", target); } if (!(("" + ("".toLowerCase() > "1.23".toLowerCase())).toLowerCase() === "false".toLowerCase())) { @@ -1673,7 +1673,7 @@ runtime.ext_scratch3_looks._say("fail 555: should be > 1.23", target); if (!(("" + ("".toLowerCase() < ".23".toLowerCase())).toLowerCase() === "true".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 556: should be < .23", target); } -if (!(("" + (0 === 0.23)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("".toLowerCase() === ".23".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 557: should be = .23", target); } if (!(("" + ("".toLowerCase() > ".23".toLowerCase())).toLowerCase() === "false".toLowerCase())) { @@ -1682,7 +1682,7 @@ runtime.ext_scratch3_looks._say("fail 558: should be > .23", target); if (!(("" + ("".toLowerCase() < "0.123".toLowerCase())).toLowerCase() === "true".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 559: should be < 0.123", target); } -if (!(("" + (0 === 0.123)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("".toLowerCase() === "0.123".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 560: should be = 0.123", target); } if (!(("" + ("".toLowerCase() > "0.123".toLowerCase())).toLowerCase() === "false".toLowerCase())) { @@ -1700,7 +1700,7 @@ runtime.ext_scratch3_looks._say("fail 564: should be > -0", target); if (!(("" + ("".toLowerCase() < "-1".toLowerCase())).toLowerCase() === "true".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 565: should be < -1", target); } -if (!(("" + (0 === -1)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("".toLowerCase() === "-1".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 566: should be = -1", target); } if (!(("" + ("".toLowerCase() > "-1".toLowerCase())).toLowerCase() === "false".toLowerCase())) { @@ -1736,7 +1736,7 @@ runtime.ext_scratch3_looks._say("fail 576: should be > NaN", target); if (!(("" + ("".toLowerCase() < "Infinity".toLowerCase())).toLowerCase() === "true".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 577: should be < Infinity", target); } -if (!(("" + (0 === Infinity)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("".toLowerCase() === "Infinity".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 578: should be = Infinity", target); } if (!(("" + ("".toLowerCase() > "Infinity".toLowerCase())).toLowerCase() === "false".toLowerCase())) { diff --git a/test/snapshot/__snapshots__/tw-true-equals-1.sb3.tw-snapshot b/test/snapshot/__snapshots__/tw-true-equals-1.sb3.tw-snapshot new file mode 100644 index 00000000..e4a9a048 --- /dev/null +++ b/test/snapshot/__snapshots__/tw-true-equals-1.sb3.tw-snapshot @@ -0,0 +1,38 @@ +// TW Snapshot +// Input SHA-256: 70cf221f35f1459c3b81ece31ed7b377098ff26eeafb66eba3788dd82c90bdd5 + +// Sprite1 script +(function factoryXYZ(thread) { const target = thread.target; const runtime = target.runtime; const stage = runtime.getTargetForStage(); +const b0 = stage.variables["{vwNMZe-LO,q/k3(A,.`"]; +const b1 = stage.variables["DKX$)W98mALB-eeMoj(d"]; +return function* genXYZ () { +runtime.ext_scratch3_looks._say("plan 8", target); +if (!("true".toLowerCase() === "1".toLowerCase())) { +runtime.ext_scratch3_looks._say("pass", target); +} +if (!("1".toLowerCase() === "true".toLowerCase())) { +runtime.ext_scratch3_looks._say("pass", target); +} +if (((+(2 === 2)) === 1)) { +runtime.ext_scratch3_looks._say("pass", target); +} +if ((1 === (+(2 === 2)))) { +runtime.ext_scratch3_looks._say("pass", target); +} +b0.value = (2 === 2); +b1.value = ("tr" + "ue"); +if (!(toNotNaN(+b1.value) === 1)) { +runtime.ext_scratch3_looks._say("pass", target); +} +if (!(1 === toNotNaN(+b1.value))) { +runtime.ext_scratch3_looks._say("pass", target); +} +if (((+b0.value) === 1)) { +runtime.ext_scratch3_looks._say("pass", target); +} +if ((1 === (+b0.value))) { +runtime.ext_scratch3_looks._say("pass", target); +} +runtime.ext_scratch3_looks._say("end", target); +retire(); return; +}; }) diff --git a/test/snapshot/__snapshots__/tw-unsafe-equals.sb3.tw-snapshot b/test/snapshot/__snapshots__/tw-unsafe-equals.sb3.tw-snapshot index 060a0aa2..35c87417 100644 --- a/test/snapshot/__snapshots__/tw-unsafe-equals.sb3.tw-snapshot +++ b/test/snapshot/__snapshots__/tw-unsafe-equals.sb3.tw-snapshot @@ -57,13 +57,13 @@ runtime.ext_scratch3_looks._say("pass 14", target); } yield; } -if ((0 === 1)) { +if (("".toLowerCase() === "1".toLowerCase())) { runtime.ext_scratch3_looks._say("fail", target); } -if ((1 === 0)) { +if (("1".toLowerCase() === "".toLowerCase())) { runtime.ext_scratch3_looks._say("fail", target); } -if ((0 === 1)) { +if ((" ".toLowerCase() === "1".toLowerCase())) { runtime.ext_scratch3_looks._say("fail", target); } if ((" ".toLowerCase() === "0".toLowerCase())) { diff --git a/test/snapshot/__snapshots__/warp-timer/tw-comparison-matrix-inline.sb3.tw-snapshot b/test/snapshot/__snapshots__/warp-timer/tw-comparison-matrix-inline.sb3.tw-snapshot index cb8e0dfe..077f68f4 100644 --- a/test/snapshot/__snapshots__/warp-timer/tw-comparison-matrix-inline.sb3.tw-snapshot +++ b/test/snapshot/__snapshots__/warp-timer/tw-comparison-matrix-inline.sb3.tw-snapshot @@ -323,7 +323,7 @@ runtime.ext_scratch3_looks._say("fail 105: 1.23 should be > -1", target); if (!(("" + ("1.23".toLowerCase() < "true".toLowerCase())).toLowerCase() === "true".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 106: 1.23 should be < true", target); } -if (!(("" + (1.23 === 1)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("1.23".toLowerCase() === "true".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 107: 1.23 should be = true", target); } if (!(("" + ("1.23".toLowerCase() > "true".toLowerCase())).toLowerCase() === "false".toLowerCase())) { @@ -332,7 +332,7 @@ runtime.ext_scratch3_looks._say("fail 108: 1.23 should be > true", target); if (!(("" + ("1.23".toLowerCase() < "false".toLowerCase())).toLowerCase() === "true".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 109: 1.23 should be < false", target); } -if (!(("" + (1.23 === 0)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("1.23".toLowerCase() === "false".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 110: 1.23 should be = false", target); } if (!(("" + ("1.23".toLowerCase() > "false".toLowerCase())).toLowerCase() === "false".toLowerCase())) { @@ -341,7 +341,7 @@ runtime.ext_scratch3_looks._say("fail 111: 1.23 should be > false", target); if (!(("" + ("1.23".toLowerCase() < "NaN".toLowerCase())).toLowerCase() === "true".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 112: 1.23 should be < NaN", target); } -if (!(("" + (1.23 === 0)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("1.23".toLowerCase() === "NaN".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 113: 1.23 should be = NaN", target); } if (!(("" + ("1.23".toLowerCase() > "NaN".toLowerCase())).toLowerCase() === "false".toLowerCase())) { @@ -359,7 +359,7 @@ runtime.ext_scratch3_looks._say("fail 117: 1.23 should be > Infinity", target); if (!(("" + ("1.23".toLowerCase() < "banana".toLowerCase())).toLowerCase() === "true".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 118: 1.23 should be < banana", target); } -if (!(("" + (1.23 === 0)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("1.23".toLowerCase() === "banana".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 119: 1.23 should be = banana", target); } if (!(("" + ("1.23".toLowerCase() > "banana".toLowerCase())).toLowerCase() === "false".toLowerCase())) { @@ -368,7 +368,7 @@ runtime.ext_scratch3_looks._say("fail 120: 1.23 should be > banana", target); if (!(("" + ("1.23".toLowerCase() < "🎉".toLowerCase())).toLowerCase() === "true".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 121: 1.23 should be < 🎉", target); } -if (!(("" + (1.23 === 0)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("1.23".toLowerCase() === "🎉".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 122: 1.23 should be = 🎉", target); } if (!(("" + ("1.23".toLowerCase() > "🎉".toLowerCase())).toLowerCase() === "false".toLowerCase())) { @@ -377,7 +377,7 @@ runtime.ext_scratch3_looks._say("fail 123: 1.23 should be > 🎉", target); if (!(("" + ("1.23".toLowerCase() < "".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 124: 1.23 should be < ", target); } -if (!(("" + (1.23 === 0)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("1.23".toLowerCase() === "".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 125: 1.23 should be = ", target); } if (!(("" + ("1.23".toLowerCase() > "".toLowerCase())).toLowerCase() === "true".toLowerCase())) { @@ -449,7 +449,7 @@ runtime.ext_scratch3_looks._say("fail 147: .23 should be > -1", target); if (!(("" + (".23".toLowerCase() < "true".toLowerCase())).toLowerCase() === "true".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 148: .23 should be < true", target); } -if (!(("" + (0.23 === 1)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + (".23".toLowerCase() === "true".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 149: .23 should be = true", target); } if (!(("" + (".23".toLowerCase() > "true".toLowerCase())).toLowerCase() === "false".toLowerCase())) { @@ -458,7 +458,7 @@ runtime.ext_scratch3_looks._say("fail 150: .23 should be > true", target); if (!(("" + (".23".toLowerCase() < "false".toLowerCase())).toLowerCase() === "true".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 151: .23 should be < false", target); } -if (!(("" + (0.23 === 0)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + (".23".toLowerCase() === "false".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 152: .23 should be = false", target); } if (!(("" + (".23".toLowerCase() > "false".toLowerCase())).toLowerCase() === "false".toLowerCase())) { @@ -467,7 +467,7 @@ runtime.ext_scratch3_looks._say("fail 153: .23 should be > false", target); if (!(("" + (".23".toLowerCase() < "NaN".toLowerCase())).toLowerCase() === "true".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 154: .23 should be < NaN", target); } -if (!(("" + (0.23 === 0)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + (".23".toLowerCase() === "NaN".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 155: .23 should be = NaN", target); } if (!(("" + (".23".toLowerCase() > "NaN".toLowerCase())).toLowerCase() === "false".toLowerCase())) { @@ -485,7 +485,7 @@ runtime.ext_scratch3_looks._say("fail 159: .23 should be > Infinity", target); if (!(("" + (".23".toLowerCase() < "banana".toLowerCase())).toLowerCase() === "true".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 160: .23 should be < banana", target); } -if (!(("" + (0.23 === 0)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + (".23".toLowerCase() === "banana".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 161: .23 should be = banana", target); } if (!(("" + (".23".toLowerCase() > "banana".toLowerCase())).toLowerCase() === "false".toLowerCase())) { @@ -494,7 +494,7 @@ runtime.ext_scratch3_looks._say("fail 162: .23 should be > banana", target); if (!(("" + (".23".toLowerCase() < "🎉".toLowerCase())).toLowerCase() === "true".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 163: .23 should be < 🎉", target); } -if (!(("" + (0.23 === 0)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + (".23".toLowerCase() === "🎉".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 164: .23 should be = 🎉", target); } if (!(("" + (".23".toLowerCase() > "🎉".toLowerCase())).toLowerCase() === "false".toLowerCase())) { @@ -503,7 +503,7 @@ runtime.ext_scratch3_looks._say("fail 165: .23 should be > 🎉", target); if (!(("" + (".23".toLowerCase() < "".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 166: .23 should be < ", target); } -if (!(("" + (0.23 === 0)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + (".23".toLowerCase() === "".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 167: .23 should be = ", target); } if (!(("" + (".23".toLowerCase() > "".toLowerCase())).toLowerCase() === "true".toLowerCase())) { @@ -575,7 +575,7 @@ runtime.ext_scratch3_looks._say("fail 189: 0.123 should be > -1", target); if (!(("" + ("0.123".toLowerCase() < "true".toLowerCase())).toLowerCase() === "true".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 190: 0.123 should be < true", target); } -if (!(("" + (0.123 === 1)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("0.123".toLowerCase() === "true".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 191: 0.123 should be = true", target); } if (!(("" + ("0.123".toLowerCase() > "true".toLowerCase())).toLowerCase() === "false".toLowerCase())) { @@ -584,7 +584,7 @@ runtime.ext_scratch3_looks._say("fail 192: 0.123 should be > true", target); if (!(("" + ("0.123".toLowerCase() < "false".toLowerCase())).toLowerCase() === "true".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 193: 0.123 should be < false", target); } -if (!(("" + (0.123 === 0)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("0.123".toLowerCase() === "false".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 194: 0.123 should be = false", target); } if (!(("" + ("0.123".toLowerCase() > "false".toLowerCase())).toLowerCase() === "false".toLowerCase())) { @@ -593,7 +593,7 @@ runtime.ext_scratch3_looks._say("fail 195: 0.123 should be > false", target); if (!(("" + ("0.123".toLowerCase() < "NaN".toLowerCase())).toLowerCase() === "true".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 196: 0.123 should be < NaN", target); } -if (!(("" + (0.123 === 0)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("0.123".toLowerCase() === "NaN".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 197: 0.123 should be = NaN", target); } if (!(("" + ("0.123".toLowerCase() > "NaN".toLowerCase())).toLowerCase() === "false".toLowerCase())) { @@ -611,7 +611,7 @@ runtime.ext_scratch3_looks._say("fail 201: 0.123 should be > Infinity", target); if (!(("" + ("0.123".toLowerCase() < "banana".toLowerCase())).toLowerCase() === "true".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 202: 0.123 should be < banana", target); } -if (!(("" + (0.123 === 0)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("0.123".toLowerCase() === "banana".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 203: 0.123 should be = banana", target); } if (!(("" + ("0.123".toLowerCase() > "banana".toLowerCase())).toLowerCase() === "false".toLowerCase())) { @@ -620,7 +620,7 @@ runtime.ext_scratch3_looks._say("fail 204: 0.123 should be > banana", target); if (!(("" + ("0.123".toLowerCase() < "🎉".toLowerCase())).toLowerCase() === "true".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 205: 0.123 should be < 🎉", target); } -if (!(("" + (0.123 === 0)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("0.123".toLowerCase() === "🎉".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 206: 0.123 should be = 🎉", target); } if (!(("" + ("0.123".toLowerCase() > "🎉".toLowerCase())).toLowerCase() === "false".toLowerCase())) { @@ -629,7 +629,7 @@ runtime.ext_scratch3_looks._say("fail 207: 0.123 should be > 🎉", target); if (!(("" + ("0.123".toLowerCase() < "".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 208: 0.123 should be < ", target); } -if (!(("" + (0.123 === 0)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("0.123".toLowerCase() === "".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 209: 0.123 should be = ", target); } if (!(("" + ("0.123".toLowerCase() > "".toLowerCase())).toLowerCase() === "true".toLowerCase())) { @@ -827,7 +827,7 @@ runtime.ext_scratch3_looks._say("fail 273: -1 should be > -1", target); if (!(("" + ("-1".toLowerCase() < "true".toLowerCase())).toLowerCase() === "true".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 274: -1 should be < true", target); } -if (!(("" + (-1 === 1)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("-1".toLowerCase() === "true".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 275: -1 should be = true", target); } if (!(("" + ("-1".toLowerCase() > "true".toLowerCase())).toLowerCase() === "false".toLowerCase())) { @@ -836,7 +836,7 @@ runtime.ext_scratch3_looks._say("fail 276: -1 should be > true", target); if (!(("" + ("-1".toLowerCase() < "false".toLowerCase())).toLowerCase() === "true".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 277: -1 should be < false", target); } -if (!(("" + (-1 === 0)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("-1".toLowerCase() === "false".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 278: -1 should be = false", target); } if (!(("" + ("-1".toLowerCase() > "false".toLowerCase())).toLowerCase() === "false".toLowerCase())) { @@ -845,7 +845,7 @@ runtime.ext_scratch3_looks._say("fail 279: -1 should be > false", target); if (!(("" + ("-1".toLowerCase() < "NaN".toLowerCase())).toLowerCase() === "true".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 280: -1 should be < NaN", target); } -if (!(("" + (-1 === 0)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("-1".toLowerCase() === "NaN".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 281: -1 should be = NaN", target); } if (!(("" + ("-1".toLowerCase() > "NaN".toLowerCase())).toLowerCase() === "false".toLowerCase())) { @@ -863,7 +863,7 @@ runtime.ext_scratch3_looks._say("fail 285: -1 should be > Infinity", target); if (!(("" + ("-1".toLowerCase() < "banana".toLowerCase())).toLowerCase() === "true".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 286: -1 should be < banana", target); } -if (!(("" + (-1 === 0)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("-1".toLowerCase() === "banana".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 287: -1 should be = banana", target); } if (!(("" + ("-1".toLowerCase() > "banana".toLowerCase())).toLowerCase() === "false".toLowerCase())) { @@ -872,7 +872,7 @@ runtime.ext_scratch3_looks._say("fail 288: -1 should be > banana", target); if (!(("" + ("-1".toLowerCase() < "🎉".toLowerCase())).toLowerCase() === "true".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 289: -1 should be < 🎉", target); } -if (!(("" + (-1 === 0)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("-1".toLowerCase() === "🎉".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 290: -1 should be = 🎉", target); } if (!(("" + ("-1".toLowerCase() > "🎉".toLowerCase())).toLowerCase() === "false".toLowerCase())) { @@ -881,7 +881,7 @@ runtime.ext_scratch3_looks._say("fail 291: -1 should be > 🎉", target); if (!(("" + ("-1".toLowerCase() < "".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 292: -1 should be < ", target); } -if (!(("" + (-1 === 0)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("-1".toLowerCase() === "".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 293: -1 should be = ", target); } if (!(("" + ("-1".toLowerCase() > "".toLowerCase())).toLowerCase() === "true".toLowerCase())) { @@ -908,7 +908,7 @@ runtime.ext_scratch3_looks._say("fail 300: true should be > 0.0", target); if (!(("" + ("true".toLowerCase() < "1.23".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 301: true should be < 1.23", target); } -if (!(("" + (1 === 1.23)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("true".toLowerCase() === "1.23".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 302: true should be = 1.23", target); } if (!(("" + ("true".toLowerCase() > "1.23".toLowerCase())).toLowerCase() === "true".toLowerCase())) { @@ -917,7 +917,7 @@ runtime.ext_scratch3_looks._say("fail 303: true should be > 1.23", target); if (!(("" + ("true".toLowerCase() < ".23".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 304: true should be < .23", target); } -if (!(("" + (1 === 0.23)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("true".toLowerCase() === ".23".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 305: true should be = .23", target); } if (!(("" + ("true".toLowerCase() > ".23".toLowerCase())).toLowerCase() === "true".toLowerCase())) { @@ -926,7 +926,7 @@ runtime.ext_scratch3_looks._say("fail 306: true should be > .23", target); if (!(("" + ("true".toLowerCase() < "0.123".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 307: true should be < 0.123", target); } -if (!(("" + (1 === 0.123)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("true".toLowerCase() === "0.123".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 308: true should be = 0.123", target); } if (!(("" + ("true".toLowerCase() > "0.123".toLowerCase())).toLowerCase() === "true".toLowerCase())) { @@ -944,7 +944,7 @@ runtime.ext_scratch3_looks._say("fail 312: true should be > -0", target); if (!(("" + ("true".toLowerCase() < "-1".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 313: true should be < -1", target); } -if (!(("" + (1 === -1)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("true".toLowerCase() === "-1".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 314: true should be = -1", target); } if (!(("" + ("true".toLowerCase() > "-1".toLowerCase())).toLowerCase() === "true".toLowerCase())) { @@ -980,7 +980,7 @@ runtime.ext_scratch3_looks._say("fail 324: true should be > NaN", target); if (!(("" + ("true".toLowerCase() < "Infinity".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 325: true should be < Infinity", target); } -if (!(("" + (1 === Infinity)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("true".toLowerCase() === "Infinity".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 326: true should be = Infinity", target); } if (!(("" + ("true".toLowerCase() > "Infinity".toLowerCase())).toLowerCase() === "true".toLowerCase())) { @@ -1034,7 +1034,7 @@ runtime.ext_scratch3_looks._say("fail 342: false should be > 0.0", target); if (!(("" + ("false".toLowerCase() < "1.23".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 343: false should be < 1.23", target); } -if (!(("" + (0 === 1.23)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("false".toLowerCase() === "1.23".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 344: false should be = 1.23", target); } if (!(("" + ("false".toLowerCase() > "1.23".toLowerCase())).toLowerCase() === "true".toLowerCase())) { @@ -1043,7 +1043,7 @@ runtime.ext_scratch3_looks._say("fail 345: false should be > 1.23", target); if (!(("" + ("false".toLowerCase() < ".23".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 346: false should be < .23", target); } -if (!(("" + (0 === 0.23)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("false".toLowerCase() === ".23".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 347: false should be = .23", target); } if (!(("" + ("false".toLowerCase() > ".23".toLowerCase())).toLowerCase() === "true".toLowerCase())) { @@ -1052,7 +1052,7 @@ runtime.ext_scratch3_looks._say("fail 348: false should be > .23", target); if (!(("" + ("false".toLowerCase() < "0.123".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 349: false should be < 0.123", target); } -if (!(("" + (0 === 0.123)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("false".toLowerCase() === "0.123".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 350: false should be = 0.123", target); } if (!(("" + ("false".toLowerCase() > "0.123".toLowerCase())).toLowerCase() === "true".toLowerCase())) { @@ -1070,7 +1070,7 @@ runtime.ext_scratch3_looks._say("fail 354: false should be > -0", target); if (!(("" + ("false".toLowerCase() < "-1".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 355: false should be < -1", target); } -if (!(("" + (0 === -1)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("false".toLowerCase() === "-1".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 356: false should be = -1", target); } if (!(("" + ("false".toLowerCase() > "-1".toLowerCase())).toLowerCase() === "true".toLowerCase())) { @@ -1106,7 +1106,7 @@ runtime.ext_scratch3_looks._say("fail 366: false should be > NaN", target); if (!(("" + ("false".toLowerCase() < "Infinity".toLowerCase())).toLowerCase() === "true".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 367: false should be < Infinity", target); } -if (!(("" + (0 === Infinity)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("false".toLowerCase() === "Infinity".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 368: false should be = Infinity", target); } if (!(("" + ("false".toLowerCase() > "Infinity".toLowerCase())).toLowerCase() === "false".toLowerCase())) { @@ -1160,7 +1160,7 @@ runtime.ext_scratch3_looks._say("fail 384: NaN should be > 0.0", target); if (!(("" + ("NaN".toLowerCase() < "1.23".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 385: NaN should be < 1.23", target); } -if (!(("" + (0 === 1.23)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("NaN".toLowerCase() === "1.23".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 386: NaN should be = 1.23", target); } if (!(("" + ("NaN".toLowerCase() > "1.23".toLowerCase())).toLowerCase() === "true".toLowerCase())) { @@ -1169,7 +1169,7 @@ runtime.ext_scratch3_looks._say("fail 387: NaN should be > 1.23", target); if (!(("" + ("NaN".toLowerCase() < ".23".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 388: NaN should be < .23", target); } -if (!(("" + (0 === 0.23)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("NaN".toLowerCase() === ".23".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 389: NaN should be = .23", target); } if (!(("" + ("NaN".toLowerCase() > ".23".toLowerCase())).toLowerCase() === "true".toLowerCase())) { @@ -1178,7 +1178,7 @@ runtime.ext_scratch3_looks._say("fail 390: NaN should be > .23", target); if (!(("" + ("NaN".toLowerCase() < "0.123".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 391: NaN should be < 0.123", target); } -if (!(("" + (0 === 0.123)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("NaN".toLowerCase() === "0.123".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 392: NaN should be = 0.123", target); } if (!(("" + ("NaN".toLowerCase() > "0.123".toLowerCase())).toLowerCase() === "true".toLowerCase())) { @@ -1196,7 +1196,7 @@ runtime.ext_scratch3_looks._say("fail 396: NaN should be > -0", target); if (!(("" + ("NaN".toLowerCase() < "-1".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 397: NaN should be < -1", target); } -if (!(("" + (0 === -1)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("NaN".toLowerCase() === "-1".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 398: NaN should be = -1", target); } if (!(("" + ("NaN".toLowerCase() > "-1".toLowerCase())).toLowerCase() === "true".toLowerCase())) { @@ -1232,7 +1232,7 @@ runtime.ext_scratch3_looks._say("fail 408: NaN should be > NaN", target); if (!(("" + ("NaN".toLowerCase() < "Infinity".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 409: NaN should be < Infinity", target); } -if (!(("" + (0 === Infinity)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("NaN".toLowerCase() === "Infinity".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 410: NaN should be = Infinity", target); } if (!(("" + ("NaN".toLowerCase() > "Infinity".toLowerCase())).toLowerCase() === "true".toLowerCase())) { @@ -1331,7 +1331,7 @@ runtime.ext_scratch3_looks._say("fail 441: Infinity should be > -1", target); if (!(("" + ("Infinity".toLowerCase() < "true".toLowerCase())).toLowerCase() === "true".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 442: Infinity should be < true", target); } -if (!(("" + (Infinity === 1)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("Infinity".toLowerCase() === "true".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 443: Infinity should be = true", target); } if (!(("" + ("Infinity".toLowerCase() > "true".toLowerCase())).toLowerCase() === "false".toLowerCase())) { @@ -1340,7 +1340,7 @@ runtime.ext_scratch3_looks._say("fail 444: Infinity should be > true", target); if (!(("" + ("Infinity".toLowerCase() < "false".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 445: Infinity should be < false", target); } -if (!(("" + (Infinity === 0)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("Infinity".toLowerCase() === "false".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 446: Infinity should be = false", target); } if (!(("" + ("Infinity".toLowerCase() > "false".toLowerCase())).toLowerCase() === "true".toLowerCase())) { @@ -1349,7 +1349,7 @@ runtime.ext_scratch3_looks._say("fail 447: Infinity should be > false", target); if (!(("" + ("Infinity".toLowerCase() < "NaN".toLowerCase())).toLowerCase() === "true".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 448: Infinity should be < NaN", target); } -if (!(("" + (Infinity === 0)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("Infinity".toLowerCase() === "NaN".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 449: Infinity should be = NaN", target); } if (!(("" + ("Infinity".toLowerCase() > "NaN".toLowerCase())).toLowerCase() === "false".toLowerCase())) { @@ -1367,7 +1367,7 @@ runtime.ext_scratch3_looks._say("fail 453: Infinity should be > Infinity", targe if (!(("" + ("Infinity".toLowerCase() < "banana".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 454: Infinity should be < banana", target); } -if (!(("" + (Infinity === 0)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("Infinity".toLowerCase() === "banana".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 455: Infinity should be = banana", target); } if (!(("" + ("Infinity".toLowerCase() > "banana".toLowerCase())).toLowerCase() === "true".toLowerCase())) { @@ -1376,7 +1376,7 @@ runtime.ext_scratch3_looks._say("fail 456: Infinity should be > banana", target) if (!(("" + ("Infinity".toLowerCase() < "🎉".toLowerCase())).toLowerCase() === "true".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 457: Infinity should be < 🎉", target); } -if (!(("" + (Infinity === 0)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("Infinity".toLowerCase() === "🎉".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 458: Infinity should be = 🎉", target); } if (!(("" + ("Infinity".toLowerCase() > "🎉".toLowerCase())).toLowerCase() === "false".toLowerCase())) { @@ -1385,7 +1385,7 @@ runtime.ext_scratch3_looks._say("fail 459: Infinity should be > 🎉", target); if (!(("" + ("Infinity".toLowerCase() < "".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 460: Infinity should be < ", target); } -if (!(("" + (Infinity === 0)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("Infinity".toLowerCase() === "".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 461: Infinity should be = ", target); } if (!(("" + ("Infinity".toLowerCase() > "".toLowerCase())).toLowerCase() === "true".toLowerCase())) { @@ -1412,7 +1412,7 @@ runtime.ext_scratch3_looks._say("fail 468: banana should be > 0.0", target); if (!(("" + ("banana".toLowerCase() < "1.23".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 469: banana should be < 1.23", target); } -if (!(("" + (0 === 1.23)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("banana".toLowerCase() === "1.23".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 470: banana should be = 1.23", target); } if (!(("" + ("banana".toLowerCase() > "1.23".toLowerCase())).toLowerCase() === "true".toLowerCase())) { @@ -1421,7 +1421,7 @@ runtime.ext_scratch3_looks._say("fail 471: banana should be > 1.23", target); if (!(("" + ("banana".toLowerCase() < ".23".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 472: banana should be < .23", target); } -if (!(("" + (0 === 0.23)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("banana".toLowerCase() === ".23".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 473: banana should be = .23", target); } if (!(("" + ("banana".toLowerCase() > ".23".toLowerCase())).toLowerCase() === "true".toLowerCase())) { @@ -1430,7 +1430,7 @@ runtime.ext_scratch3_looks._say("fail 474: banana should be > .23", target); if (!(("" + ("banana".toLowerCase() < "0.123".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 475: banana should be < 0.123", target); } -if (!(("" + (0 === 0.123)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("banana".toLowerCase() === "0.123".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 476: banana should be = 0.123", target); } if (!(("" + ("banana".toLowerCase() > "0.123".toLowerCase())).toLowerCase() === "true".toLowerCase())) { @@ -1448,7 +1448,7 @@ runtime.ext_scratch3_looks._say("fail 480: banana should be > -0", target); if (!(("" + ("banana".toLowerCase() < "-1".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 481: banana should be < -1", target); } -if (!(("" + (0 === -1)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("banana".toLowerCase() === "-1".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 482: banana should be = -1", target); } if (!(("" + ("banana".toLowerCase() > "-1".toLowerCase())).toLowerCase() === "true".toLowerCase())) { @@ -1484,7 +1484,7 @@ runtime.ext_scratch3_looks._say("fail 492: banana should be > NaN", target); if (!(("" + ("banana".toLowerCase() < "Infinity".toLowerCase())).toLowerCase() === "true".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 493: banana should be < Infinity", target); } -if (!(("" + (0 === Infinity)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("banana".toLowerCase() === "Infinity".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 494: banana should be = Infinity", target); } if (!(("" + ("banana".toLowerCase() > "Infinity".toLowerCase())).toLowerCase() === "false".toLowerCase())) { @@ -1538,7 +1538,7 @@ runtime.ext_scratch3_looks._say("fail 510: 🎉 should be > 0.0", target); if (!(("" + ("🎉".toLowerCase() < "1.23".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 511: 🎉 should be < 1.23", target); } -if (!(("" + (0 === 1.23)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("🎉".toLowerCase() === "1.23".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 512: 🎉 should be = 1.23", target); } if (!(("" + ("🎉".toLowerCase() > "1.23".toLowerCase())).toLowerCase() === "true".toLowerCase())) { @@ -1547,7 +1547,7 @@ runtime.ext_scratch3_looks._say("fail 513: 🎉 should be > 1.23", target); if (!(("" + ("🎉".toLowerCase() < ".23".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 514: 🎉 should be < .23", target); } -if (!(("" + (0 === 0.23)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("🎉".toLowerCase() === ".23".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 515: 🎉 should be = .23", target); } if (!(("" + ("🎉".toLowerCase() > ".23".toLowerCase())).toLowerCase() === "true".toLowerCase())) { @@ -1556,7 +1556,7 @@ runtime.ext_scratch3_looks._say("fail 516: 🎉 should be > .23", target); if (!(("" + ("🎉".toLowerCase() < "0.123".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 517: 🎉 should be < 0.123", target); } -if (!(("" + (0 === 0.123)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("🎉".toLowerCase() === "0.123".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 518: 🎉 should be = 0.123", target); } if (!(("" + ("🎉".toLowerCase() > "0.123".toLowerCase())).toLowerCase() === "true".toLowerCase())) { @@ -1574,7 +1574,7 @@ runtime.ext_scratch3_looks._say("fail 522: 🎉 should be > -0", target); if (!(("" + ("🎉".toLowerCase() < "-1".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 523: 🎉 should be < -1", target); } -if (!(("" + (0 === -1)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("🎉".toLowerCase() === "-1".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 524: 🎉 should be = -1", target); } if (!(("" + ("🎉".toLowerCase() > "-1".toLowerCase())).toLowerCase() === "true".toLowerCase())) { @@ -1610,7 +1610,7 @@ runtime.ext_scratch3_looks._say("fail 534: 🎉 should be > NaN", target); if (!(("" + ("🎉".toLowerCase() < "Infinity".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 535: 🎉 should be < Infinity", target); } -if (!(("" + (0 === Infinity)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("🎉".toLowerCase() === "Infinity".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 536: 🎉 should be = Infinity", target); } if (!(("" + ("🎉".toLowerCase() > "Infinity".toLowerCase())).toLowerCase() === "true".toLowerCase())) { @@ -1664,7 +1664,7 @@ runtime.ext_scratch3_looks._say("fail 552: should be > 0.0", target); if (!(("" + ("".toLowerCase() < "1.23".toLowerCase())).toLowerCase() === "true".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 553: should be < 1.23", target); } -if (!(("" + (0 === 1.23)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("".toLowerCase() === "1.23".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 554: should be = 1.23", target); } if (!(("" + ("".toLowerCase() > "1.23".toLowerCase())).toLowerCase() === "false".toLowerCase())) { @@ -1673,7 +1673,7 @@ runtime.ext_scratch3_looks._say("fail 555: should be > 1.23", target); if (!(("" + ("".toLowerCase() < ".23".toLowerCase())).toLowerCase() === "true".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 556: should be < .23", target); } -if (!(("" + (0 === 0.23)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("".toLowerCase() === ".23".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 557: should be = .23", target); } if (!(("" + ("".toLowerCase() > ".23".toLowerCase())).toLowerCase() === "false".toLowerCase())) { @@ -1682,7 +1682,7 @@ runtime.ext_scratch3_looks._say("fail 558: should be > .23", target); if (!(("" + ("".toLowerCase() < "0.123".toLowerCase())).toLowerCase() === "true".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 559: should be < 0.123", target); } -if (!(("" + (0 === 0.123)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("".toLowerCase() === "0.123".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 560: should be = 0.123", target); } if (!(("" + ("".toLowerCase() > "0.123".toLowerCase())).toLowerCase() === "false".toLowerCase())) { @@ -1700,7 +1700,7 @@ runtime.ext_scratch3_looks._say("fail 564: should be > -0", target); if (!(("" + ("".toLowerCase() < "-1".toLowerCase())).toLowerCase() === "true".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 565: should be < -1", target); } -if (!(("" + (0 === -1)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("".toLowerCase() === "-1".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 566: should be = -1", target); } if (!(("" + ("".toLowerCase() > "-1".toLowerCase())).toLowerCase() === "false".toLowerCase())) { @@ -1736,7 +1736,7 @@ runtime.ext_scratch3_looks._say("fail 576: should be > NaN", target); if (!(("" + ("".toLowerCase() < "Infinity".toLowerCase())).toLowerCase() === "true".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 577: should be < Infinity", target); } -if (!(("" + (0 === Infinity)).toLowerCase() === "false".toLowerCase())) { +if (!(("" + ("".toLowerCase() === "Infinity".toLowerCase())).toLowerCase() === "false".toLowerCase())) { runtime.ext_scratch3_looks._say("fail 578: should be = Infinity", target); } if (!(("" + ("".toLowerCase() > "Infinity".toLowerCase())).toLowerCase() === "false".toLowerCase())) { diff --git a/test/snapshot/__snapshots__/warp-timer/tw-true-equals-1.sb3.tw-snapshot b/test/snapshot/__snapshots__/warp-timer/tw-true-equals-1.sb3.tw-snapshot new file mode 100644 index 00000000..e4a9a048 --- /dev/null +++ b/test/snapshot/__snapshots__/warp-timer/tw-true-equals-1.sb3.tw-snapshot @@ -0,0 +1,38 @@ +// TW Snapshot +// Input SHA-256: 70cf221f35f1459c3b81ece31ed7b377098ff26eeafb66eba3788dd82c90bdd5 + +// Sprite1 script +(function factoryXYZ(thread) { const target = thread.target; const runtime = target.runtime; const stage = runtime.getTargetForStage(); +const b0 = stage.variables["{vwNMZe-LO,q/k3(A,.`"]; +const b1 = stage.variables["DKX$)W98mALB-eeMoj(d"]; +return function* genXYZ () { +runtime.ext_scratch3_looks._say("plan 8", target); +if (!("true".toLowerCase() === "1".toLowerCase())) { +runtime.ext_scratch3_looks._say("pass", target); +} +if (!("1".toLowerCase() === "true".toLowerCase())) { +runtime.ext_scratch3_looks._say("pass", target); +} +if (((+(2 === 2)) === 1)) { +runtime.ext_scratch3_looks._say("pass", target); +} +if ((1 === (+(2 === 2)))) { +runtime.ext_scratch3_looks._say("pass", target); +} +b0.value = (2 === 2); +b1.value = ("tr" + "ue"); +if (!(toNotNaN(+b1.value) === 1)) { +runtime.ext_scratch3_looks._say("pass", target); +} +if (!(1 === toNotNaN(+b1.value))) { +runtime.ext_scratch3_looks._say("pass", target); +} +if (((+b0.value) === 1)) { +runtime.ext_scratch3_looks._say("pass", target); +} +if ((1 === (+b0.value))) { +runtime.ext_scratch3_looks._say("pass", target); +} +runtime.ext_scratch3_looks._say("end", target); +retire(); return; +}; }) diff --git a/test/snapshot/__snapshots__/warp-timer/tw-unsafe-equals.sb3.tw-snapshot b/test/snapshot/__snapshots__/warp-timer/tw-unsafe-equals.sb3.tw-snapshot index 060a0aa2..35c87417 100644 --- a/test/snapshot/__snapshots__/warp-timer/tw-unsafe-equals.sb3.tw-snapshot +++ b/test/snapshot/__snapshots__/warp-timer/tw-unsafe-equals.sb3.tw-snapshot @@ -57,13 +57,13 @@ runtime.ext_scratch3_looks._say("pass 14", target); } yield; } -if ((0 === 1)) { +if (("".toLowerCase() === "1".toLowerCase())) { runtime.ext_scratch3_looks._say("fail", target); } -if ((1 === 0)) { +if (("1".toLowerCase() === "".toLowerCase())) { runtime.ext_scratch3_looks._say("fail", target); } -if ((0 === 1)) { +if ((" ".toLowerCase() === "1".toLowerCase())) { runtime.ext_scratch3_looks._say("fail", target); } if ((" ".toLowerCase() === "0".toLowerCase())) {