diff options
Diffstat (limited to 'js/src/tests/ecma_5/extensions/eval-native-callback-is-indirect.js')
-rw-r--r-- | js/src/tests/ecma_5/extensions/eval-native-callback-is-indirect.js | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/js/src/tests/ecma_5/extensions/eval-native-callback-is-indirect.js b/js/src/tests/ecma_5/extensions/eval-native-callback-is-indirect.js new file mode 100644 index 000000000..662f619ee --- /dev/null +++ b/js/src/tests/ecma_5/extensions/eval-native-callback-is-indirect.js @@ -0,0 +1,43 @@ +// Any copyright is dedicated to the Public Domain. +// http://creativecommons.org/licenses/publicdomain/ + +//----------------------------------------------------------------------------- +var BUGNUMBER = 604504; +var summary = "eval called from a native function is indirect"; + +print(BUGNUMBER + ": " + summary); + +/************** + * BEGIN TEST * + **************/ + +var originalEval = eval; + +var global = this; +var directCheckCode = "this === global"; + +function testArrayGeneric() +{ + var global = "psych!"; + var eval = Array.map; + + var mapped = eval([directCheckCode], originalEval); + assertEq(mapped[0], true); +} + +function testStringGeneric() +{ + var global = "psych!"; + var eval = String.replace; + + var newString = eval(directCheckCode, directCheckCode, originalEval); + assertEq(newString, "true"); +} +testStringGeneric(); + +/******************************************************************************/ + +if (typeof reportCompare === "function") + reportCompare(true, true); + +print("All tests passed!"); |