| Index: LayoutTests/fast/js/function-dot-arguments2.html
|
| diff --git a/LayoutTests/fast/js/function-dot-arguments2.html b/LayoutTests/fast/js/function-dot-arguments2.html
|
| deleted file mode 100644
|
| index d4aa31216778f6d1caf0ba14fa2ed3263dcb7e8c..0000000000000000000000000000000000000000
|
| --- a/LayoutTests/fast/js/function-dot-arguments2.html
|
| +++ /dev/null
|
| @@ -1,96 +0,0 @@
|
| -<p></p>
|
| -
|
| -<pre id="console"></pre>
|
| -
|
| -<script>
|
| -function $(id)
|
| -{
|
| - return document.getElementById(id);
|
| -}
|
| -
|
| -function log(s)
|
| -{
|
| - $("console").appendChild(document.createTextNode(s + "\n"));
|
| -}
|
| -
|
| -function shouldBeNoEval(aDescription, a, b)
|
| -{
|
| - if (a === b) {
|
| - log("PASS: " + aDescription + " should be " + b + " and is.");
|
| - return;
|
| - }
|
| -
|
| - log("FAIL: " + aDescription + " should be " + b + " but instead is " + a + ".");
|
| -}
|
| -
|
| -if (window.testRunner)
|
| - testRunner.dumpAsText();
|
| -
|
| -// eval should lazily create 'arguments'.
|
| -function f1() {
|
| - if (false)
|
| - return arguments;
|
| - return eval("arguments");
|
| -}
|
| -shouldBeNoEval("f1(1)[0]", f1(1)[0], 1);
|
| -
|
| -// 'arguments' created by eval should be live.
|
| -function f2(x) {
|
| - var a = eval("arguments");
|
| - x = 0;
|
| - return a;
|
| -}
|
| -shouldBeNoEval("f2(1)[0]", f2(1)[0], 0);
|
| -
|
| -// overwriting 'arguments' after lazily creating it should succeed.
|
| -function f3() {
|
| - var x = arguments;
|
| - var arguments = [0];
|
| - return arguments;
|
| -}
|
| -shouldBeNoEval("f3(1)[0]", f3(1)[0], 0);
|
| -
|
| -// overwriting 'arguments' before lazily creating it should succeed.
|
| -function f4() {
|
| - var arguments = [0];
|
| - var x = arguments;
|
| - return arguments;
|
| -}
|
| -shouldBeNoEval("f4(1)[0]", f4(1)[0], 0);
|
| -
|
| -// eval should access local, shared 'arguments'.
|
| -function f5() {
|
| - eval("arguments.x = 1");
|
| - return eval("arguments");
|
| -}
|
| -shouldBeNoEval("f5().x", f5().x, 1);
|
| -
|
| -// accessing another function's .arguments should not accidentally overwrite your own(!).
|
| -function f6() {
|
| - return g6(1);
|
| -}
|
| -function g6() {
|
| - f6.arguments;
|
| - return g6.arguments;
|
| -}
|
| -shouldBeNoEval("f6()[0]", f6()[0], 1);
|
| -
|
| -// access to another function's .arguments should not produce a shared object.
|
| -function f7() {
|
| - return g7();
|
| -}
|
| -function g7() {
|
| - return f7.arguments === f7.arguments;
|
| -}
|
| -shouldBeNoEval("f7()", f7(), false);
|
| -
|
| -// ...unless the other function uses 'arguments'.
|
| -function f8() {
|
| - arguments;
|
| - return g8();
|
| -}
|
| -function g8() {
|
| - return f7.arguments === f7.arguments;
|
| -}
|
| -shouldBeNoEval("f8()", f8(), true);
|
| -</script>
|
|
|