js/src/tests/test262/ch12/12.14/12.14-13.js

Wed, 31 Dec 2014 13:27:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 13:27:57 +0100
branch
TOR_BUG_3246
changeset 6
8bccb770b82d
permissions
-rw-r--r--

Ignore runtime configuration files generated during quality assurance.

michael@0 1 /// Copyright (c) 2012 Ecma International. All rights reserved.
michael@0 2 /// Ecma International makes this code available under the terms and conditions set
michael@0 3 /// forth on http://hg.ecmascript.org/tests/test262/raw-file/tip/LICENSE (the
michael@0 4 /// "Use Terms"). Any redistribution of this code must retain the above
michael@0 5 /// copyright and this notice and otherwise comply with the Use Terms.
michael@0 6 /**
michael@0 7 * @path ch12/12.14/12.14-13.js
michael@0 8 * @description catch introduces scope - updates are based on scope
michael@0 9 */
michael@0 10
michael@0 11
michael@0 12 function testcase() {
michael@0 13 var res1 = false;
michael@0 14 var res2 = false;
michael@0 15 var res3 = false;
michael@0 16
michael@0 17 var x_12_14_13 = 'local';
michael@0 18 try {
michael@0 19 function foo() {
michael@0 20 this.x_12_14_13 = 'instance';
michael@0 21 }
michael@0 22
michael@0 23 try {
michael@0 24 throw foo;
michael@0 25 }
michael@0 26 catch (e) {
michael@0 27 res1 = (x_12_14_13 === 'local');
michael@0 28 e();
michael@0 29 res2 = (x_12_14_13 === 'local');
michael@0 30 }
michael@0 31 res3 = (x_12_14_13 === 'local');
michael@0 32
michael@0 33 if (res1 === true &&
michael@0 34 res2 === true &&
michael@0 35 res3 === true) {
michael@0 36 return true;
michael@0 37 }
michael@0 38 } finally {
michael@0 39 delete this.x_12_14_13;
michael@0 40 }
michael@0 41 }
michael@0 42 runTestCase(testcase);

mercurial