diff options
Diffstat (limited to 'js/src/tests/test262/language/statements/function/S13.2.2_A19_T6.js')
-rw-r--r-- | js/src/tests/test262/language/statements/function/S13.2.2_A19_T6.js | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/js/src/tests/test262/language/statements/function/S13.2.2_A19_T6.js b/js/src/tests/test262/language/statements/function/S13.2.2_A19_T6.js new file mode 100644 index 0000000000..b13daa112f --- /dev/null +++ b/js/src/tests/test262/language/statements/function/S13.2.2_A19_T6.js @@ -0,0 +1,44 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +info: Function's scope chain is started when it is declared +es5id: 13.2.2_A19_T6 +description: > + Function is declared in the "object->do-while" scope, then the + object is deleted and another object with the same name is declared +flags: [noStrict] +---*/ + +var a = 1; + +var __obj = {a:2}; + +with (__obj) +{ + do { + var __func = function() + { + return a; + } + } while(0); +} + +delete __obj; + +var __obj = {a:3}; + +with (__obj) +{ + result = __func(); +} + +////////////////////////////////////////////////////////////////////////////// +//CHECK#1 +if (result !== 2) { + throw new Test262Error('#1: result === 2. Actual: result ==='+result); +} +// +////////////////////////////////////////////////////////////////////////////// + +reportCompare(0, 0); |