// Copyright 2009 the Sputnik authors. All rights reserved. // This code is governed by the BSD license found in the LICENSE file. /*--- info: > ToNumber(first expression) is called first, and then ToNumber(second expression) 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 "x". Actual: ' + (x / y)); } catch (e) { if (e === "y") { $ERROR('#1.2: ToNumber(first expression) is called first, and then ToNumber(second expression)'); } else { if (e !== "x") { $ERROR('#1.3: var x = { valueOf: function () { throw "x"; } }; var y = { valueOf: function () { throw "y"; } }; x / y throw "x". Actual: ' + (e)); } } }