30 lines
720 B
JavaScript
30 lines
720 B
JavaScript
description(
|
|
"Tests that the DFG does the right thing on strict equality for known strings."
|
|
);
|
|
|
|
function foo(a, b) {
|
|
a = a.f;
|
|
b = b.f;
|
|
var c = a.length + b.length;
|
|
return [c, a === b];
|
|
}
|
|
|
|
function bar(a, b) {
|
|
a = a.f;
|
|
b = b.f;
|
|
var c = a.length + b.length;
|
|
if (a === b)
|
|
return c + 1;
|
|
else
|
|
return c - 1;
|
|
}
|
|
|
|
for (var i = 0; i < 1000; ++i) {
|
|
var a = "blah" + i;
|
|
var b = "blah" + (1000 - i);
|
|
var areEqual = i == 500;
|
|
shouldBe("foo({f:\"" + a + "\"}, {f:\"" + b + "\"})", "[" + (a.length + b.length) + ", " + areEqual + "]");
|
|
shouldBe("bar({f:\"" + a + "\"}, {f:\"" + b + "\"})", "" + (areEqual ? a.length + b.length + 1 : a.length + b.length - 1));
|
|
}
|
|
|