mirror of https://github.com/tc39/test262.git
70 lines
1.1 KiB
JavaScript
70 lines
1.1 KiB
JavaScript
function shouldBe(actual, expected) {
|
|
if (actual !== expected)
|
|
throw new Error(`bad value: ${String(actual)} ${String(expected)}`);
|
|
}
|
|
|
|
function testJNEQ(a, b)
|
|
{
|
|
if (a == b) {
|
|
return 42;
|
|
}
|
|
return 30;
|
|
}
|
|
noInline(testJNEQ);
|
|
|
|
function testJEQ(a, b)
|
|
{
|
|
if (a != b) {
|
|
return 42;
|
|
}
|
|
return 30;
|
|
}
|
|
noInline(testJEQ);
|
|
|
|
function testJNEQB(a, b)
|
|
{
|
|
var i = 0;
|
|
do {
|
|
++i;
|
|
} while (!(a == b));
|
|
return i;
|
|
}
|
|
noInline(testJNEQB);
|
|
|
|
function testJEQB(a, b)
|
|
{
|
|
var i = 0;
|
|
do {
|
|
++i;
|
|
} while (!(a != b));
|
|
return i;
|
|
}
|
|
noInline(testJEQB);
|
|
|
|
function testJNEQF(a, b)
|
|
{
|
|
var i = 0;
|
|
while (!(a == b))
|
|
++i;
|
|
return i;
|
|
}
|
|
noInline(testJNEQF);
|
|
|
|
function testJEQF(a, b)
|
|
{
|
|
var i = 0;
|
|
while (!(a != b))
|
|
++i;
|
|
return i;
|
|
}
|
|
noInline(testJEQF);
|
|
|
|
for (var i = 0; i < 1e4; ++i) {
|
|
shouldBe(testJNEQ(0, 42), 30);
|
|
shouldBe(testJEQ(0, 42), 42);
|
|
shouldBe(testJNEQB(0, 0), 1);
|
|
shouldBe(testJEQB(0, 1), 1);
|
|
shouldBe(testJNEQF(0, 0), 0);
|
|
shouldBe(testJEQF(0, 1), 0);
|
|
}
|