diff options
Diffstat (limited to 'js/src/tests/test262/language/statements/function/S13.2.2_A18_T1.js')
-rw-r--r-- | js/src/tests/test262/language/statements/function/S13.2.2_A18_T1.js | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/js/src/tests/test262/language/statements/function/S13.2.2_A18_T1.js b/js/src/tests/test262/language/statements/function/S13.2.2_A18_T1.js new file mode 100644 index 0000000000..5983be4bf7 --- /dev/null +++ b/js/src/tests/test262/language/statements/function/S13.2.2_A18_T1.js @@ -0,0 +1,57 @@ +// Copyright 2009 the Sputnik authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +info: | + Using arguments object within a "with" Expression that is nested in a + function is admitted +es5id: 13.2.2_A18_T1 +description: "Object is declared with \"var __obj={callee:\"a\"}\"" +flags: [noStrict] +---*/ + +var callee=0, b; + +var __obj={callee:"a"}; + +result=(function(){ + with (arguments){ + callee=1; + b=true; + } + return arguments; +})(__obj); + +////////////////////////////////////////////////////////////////////////////// +//CHECK#1 +if (callee !== 0) { + throw new Test262Error('#1: callee === 0. Actual: callee ==='+callee); +} +// +////////////////////////////////////////////////////////////////////////////// + +////////////////////////////////////////////////////////////////////////////// +//CHECK#2 +if (__obj.callee !== "a") { + throw new Test262Error('#2: __obj.callee === "a". Actual: __obj.callee==='+__obj.callee); +} +// +////////////////////////////////////////////////////////////////////////////// + +////////////////////////////////////////////////////////////////////////////// +//CHECK#3 +if (result.callee !== 1) { + throw new Test262Error('#3: result.callee === 1. Actual: result.callee ==='+result.callee); +} +// +////////////////////////////////////////////////////////////////////////////// + +////////////////////////////////////////////////////////////////////////////// +//CHECK#4 +if (!(this.b)) { + throw new Test262Error('#4: this.b === true. Actual: this.b ==='+this.b); +} +// +////////////////////////////////////////////////////////////////////////////// + +reportCompare(0, 0); |