Mark Miller 2011-09-25 11:21:54 -07:00
parent 8c642b6172
commit 45f7cee019
3 changed files with 16 additions and 20 deletions

View File

@ -92,8 +92,6 @@
<test id="S9.9_A2">https://bugs.ecmascript.org/show_bug.cgi?id=13</test>
<test id="S11.1.5_A4.1">https://bugs.ecmascript.org/show_bug.cgi?id=14</test>
<test id="S11.1.5_A4.2">https://bugs.ecmascript.org/show_bug.cgi?id=14</test>
<test id="S11.8.2_A2.3_T1">https://bugs.ecmascript.org/show_bug.cgi?id=15</test>
<test id="S11.8.3_A2.3_T1">https://bugs.ecmascript.org/show_bug.cgi?id=15</test>
<!-- Still invalid after a fix from Google. ES5 doesn't state Chapter 16 extensions
regarding FunctionDeclaration are invalid per-se -->

View File

@ -2,24 +2,23 @@
// This code is governed by the BSD license found in the LICENSE file.
/**
* @name: S11.8.2_A2.3_T1;
* @section: 11.8.2;
* @assertion: ToNumber(second expression) is called first, and then ToNumber(first expression);
* In ES5, First expression should be evaluated first.
*
* @description: Checking with "throw";
*/
*/
//CHECK#1
var x = { valueOf: function () { throw "x"; } };
var y = { valueOf: function () { throw "y"; } };
try {
x > y;
$ERROR('#1.1: var x = { valueOf: function () { throw "x"; } }; var y = { valueOf: function () { throw "y"; } }; x > y throw "y". Actual: ' + (x > y));
$ERROR('#1.1: Should have thrown');
} catch (e) {
if (e === "x") {
$ERROR('#1.2: ToNumber(second expression) is called first, and then ToNumber(first expression)');
if (e === "y") {
$ERROR('#1.2: First expression should be evaluated first');
} else {
if (e !== "y") {
$ERROR('#1.3: var x = { valueOf: function () { throw "x"; } }; var y = { valueOf: function () { throw "y"; } }; x > y throw "y". Actual: ' + (e));
if (e !== "x") {
$ERROR('#1.3: Failed with: ' + e);
}
}
}

View File

@ -2,24 +2,23 @@
// This code is governed by the BSD license found in the LICENSE file.
/**
* @name: S11.8.3_A2.3_T1;
* @section: 11.8.3;
* @assertion: ToNumber(second expression) is called first, and then ToNumber(first expression);
* In ES5, First expression should be evaluated first.
*
* @description: Checking with "throw";
*/
*/
//CHECK#1
var x = { valueOf: function () { throw "x"; } };
var y = { valueOf: function () { throw "y"; } };
try {
x <= y;
$ERROR('#1.1: var x = { valueOf: function () { throw "x"; } }; var y = { valueOf: function () { throw "y"; } }; x <= y throw "y". Actual: ' + (x <= y));
$ERROR('#1.1: Should have thrown');
} catch (e) {
if (e === "x") {
$ERROR('#1.2: ToNumber(second expression) is called first, and then ToNumber(first expression)');
if (e === "y") {
$ERROR('#1.2: First expression should be evaluated first');
} else {
if (e !== "y") {
$ERROR('#1.3: var x = { valueOf: function () { throw "x"; } }; var y = { valueOf: function () { throw "y"; } }; x <= y throw "y". Actual: ' + (e));
if (e !== "x") {
$ERROR('#1.3: Failed with: ' + e);
}
}
}