summaryrefslogtreecommitdiffstats
path: root/js/src/tests/ecma_5/extensions/eval-native-callback-is-indirect.js
diff options
context:
space:
mode:
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.js43
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!");