michael@0: // Copyright 2009 the Sputnik authors. All rights reserved. michael@0: // This code is governed by the BSD license found in the LICENSE file. michael@0: michael@0: /** michael@0: * In ES5, First expression should be evaluated first. michael@0: * michael@0: * @path ch11/11.8/11.8.3/S11.8.3_A2.3_T1.js michael@0: * @description Checking that operands of a "<=" evaluate left-to-right michael@0: */ michael@0: michael@0: //CHECK#1 michael@0: var x = { valueOf: function () { throw "x"; } }; michael@0: var y = { valueOf: function () { throw "y"; } }; michael@0: try { michael@0: x <= y; michael@0: $ERROR('#1.1: Should have thrown'); michael@0: } catch (e) { michael@0: if (e === "y") { michael@0: $ERROR('#1.2: First expression should be evaluated first'); michael@0: } else { michael@0: if (e !== "x") { michael@0: $ERROR('#1.3: Failed with: ' + e); michael@0: } michael@0: } michael@0: } michael@0: