64 lines
1.3 KiB
JavaScript
64 lines
1.3 KiB
JavaScript
description(
|
|
"This test checks corner cases of the number cell reuse code. In particular, it checks for known cases where code generation for number cell reuse caused assertions to fail."
|
|
);
|
|
|
|
function leftConstantRightSimple(a)
|
|
{
|
|
return 0.1 * (a * a);
|
|
}
|
|
|
|
shouldBe("leftConstantRightSimple(2)", "0.4");
|
|
|
|
function leftConstantRightComplex(a)
|
|
{
|
|
return 0.1 * (a * a + a);
|
|
}
|
|
|
|
shouldBe("leftConstantRightComplex(1)", "0.2");
|
|
|
|
function leftSimpleRightConstant(a)
|
|
{
|
|
return (a * a) * 0.1;
|
|
}
|
|
|
|
shouldBe("leftSimpleRightConstant(2)", "0.4");
|
|
|
|
function leftComplexRightConstant(a)
|
|
{
|
|
return (a * a + a) * 0.1;
|
|
}
|
|
|
|
shouldBe("leftComplexRightConstant(1)", "0.2");
|
|
|
|
function leftThisRightSimple(a)
|
|
{
|
|
return this * (a * a);
|
|
}
|
|
|
|
shouldBeNaN("leftThisRightSimple(2)");
|
|
shouldBe("leftThisRightSimple.call(2, 2)", "8");
|
|
|
|
function leftThisRightComplex(a)
|
|
{
|
|
return this * (a * a + a);
|
|
}
|
|
|
|
shouldBeNaN("leftThisRightComplex(2)");
|
|
shouldBe("leftThisRightComplex.call(2, 2)", "12");
|
|
|
|
function leftSimpleRightThis(a)
|
|
{
|
|
return (a * a) * this;
|
|
}
|
|
|
|
shouldBeNaN("leftSimpleRightThis(2)");
|
|
shouldBe("leftSimpleRightThis.call(2, 2)", "8");
|
|
|
|
function leftComplexRightThis(a)
|
|
{
|
|
return (a * a + a) * this;
|
|
}
|
|
|
|
shouldBeNaN("leftComplexRightThis(2)");
|
|
shouldBe("leftComplexRightThis.call(2, 2)", "12");
|