js/src/tests/test262/ch11/11.2/11.2.4/S11.2.4_A1.4_T4.js

Wed, 31 Dec 2014 13:27:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 13:27:57 +0100
branch
TOR_BUG_3246
changeset 6
8bccb770b82d
permissions
-rw-r--r--

Ignore runtime configuration files generated during quality assurance.

michael@0 1 // Copyright 2009 the Sputnik authors. All rights reserved.
michael@0 2 // This code is governed by the BSD license found in the LICENSE file.
michael@0 3
michael@0 4 /**
michael@0 5 * Arguments : (ArgumentList : ArgumentList, AssignmentExpression)
michael@0 6 *
michael@0 7 * @path ch11/11.2/11.2.4/S11.2.4_A1.4_T4.js
michael@0 8 * @description Return an internal list whose length is one greater than the
michael@0 9 * length of ArgumentList and whose items are the items of ArgumentList, in order,
michael@0 10 * followed at the end by GetValue(AssignmentExpression), which is the last item of
michael@0 11 * the new list
michael@0 12 */
michael@0 13
michael@0 14 var x = function () { throw "x"; };
michael@0 15 var y = function () { throw "y"; };
michael@0 16
michael@0 17 function f_arg() {
michael@0 18 }
michael@0 19
michael@0 20 //CHECK#1
michael@0 21 try {
michael@0 22 f_arg(x(),y());
michael@0 23 $ERROR('#1.1: var x = { valueOf: function () { throw "x"; } }; var y = { valueOf: function () { throw "y"; } }; function f_arg() {} f_arg(x(),y()) throw "x". Actual: ' + (f_arg(x(),y())));
michael@0 24 }
michael@0 25 catch (e) {
michael@0 26 if (e === "y") {
michael@0 27 $ERROR('#1.2: First argument is evaluated first, and then second argument');
michael@0 28 } else {
michael@0 29 if (e !== "x") {
michael@0 30 $ERROR('#1.3: var x = { valueOf: function () { throw "x"; } }; var y = { valueOf: function () { throw "y"; } }; function f_arg() {} f_arg(x(),y()) throw "x". Actual: ' + (e));
michael@0 31 }
michael@0 32 }
michael@0 33 }
michael@0 34

mercurial