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: * First expression is evaluated first, and then second expression michael@0: * michael@0: * @path ch11/11.7/11.7.2/S11.7.2_A2.4_T2.js michael@0: * @description Checking with "throw" michael@0: */ michael@0: michael@0: //CHECK#1 michael@0: var x = function () { throw "x"; }; michael@0: var y = function () { throw "y"; }; michael@0: try { michael@0: x() >> y(); michael@0: $ERROR('#1.1: var x = function () { throw "x"; }; var y = function () { throw "y"; }; x() >> y() throw "x". Actual: ' + (x() >> y())); michael@0: } catch (e) { michael@0: if (e === "y") { michael@0: $ERROR('#1.2: First expression is evaluated first, and then second expression'); michael@0: } else { michael@0: if (e !== "x") { michael@0: $ERROR('#1.3: var x = function () { throw "x"; }; var y = function () { throw "y"; }; x() >> y() throw "x". Actual: ' + (e)); michael@0: } michael@0: } michael@0: } michael@0: