Wed, 31 Dec 2014 13:27:57 +0100
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 |