diff options
Diffstat (limited to 'js/src/tests/test262/language/eval-code/indirect/always-non-strict-strict.js')
-rw-r--r-- | js/src/tests/test262/language/eval-code/indirect/always-non-strict-strict.js | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/js/src/tests/test262/language/eval-code/indirect/always-non-strict-strict.js b/js/src/tests/test262/language/eval-code/indirect/always-non-strict-strict.js new file mode 100644 index 0000000000..96d8424b61 --- /dev/null +++ b/js/src/tests/test262/language/eval-code/indirect/always-non-strict-strict.js @@ -0,0 +1,28 @@ +'use strict'; +// Copyright (C) 2016 the V8 project authors. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. +/*--- +description: Strictness of direct eval is not dependent on strictness of caller +esid: sec-strict-mode-code +info: | + Eval code is strict mode code if it begins with a Directive Prologue that + contains a Use Strict Directive or if the call to eval is a direct eval + that is contained in strict mode code. +flags: [onlyStrict] +---*/ + +var count = 0; + +(0,eval)('var static; count += 1;'); + +assert.sameValue(count, 1); + +(0,eval)('with ({}) {} count += 1;'); + +assert.sameValue(count, 2); + +(0,eval)('unresolvable = null; count += 1;'); + +assert.sameValue(count, 3); + +reportCompare(0, 0); |