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.8/11.8.7/S11.8.7_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() in y(); michael@0: $ERROR('#1.1: var x = function () { throw "x"; }; var y = function () { throw "y"; }; x() in y() throw "x". Actual: ' + (x() in 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() in y() throw "x". Actual: ' + (e)); michael@0: } michael@0: } michael@0: } michael@0: