diff options
author | olehougaard@google.com <olehougaard@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-12-05 10:20:18 +0000 |
---|---|---|
committer | olehougaard@google.com <olehougaard@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-12-05 10:20:18 +0000 |
commit | a360ae62c7b0031753debc07e65c2d8c70dbe6c8 (patch) | |
tree | 492ef6cd8c874c1bec414918447c90e958749847 /webkit | |
parent | c5ef655548b2a6740698914bbbada24334ec6554 (diff) | |
download | chromium_src-a360ae62c7b0031753debc07e65c2d8c70dbe6c8.zip chromium_src-a360ae62c7b0031753debc07e65c2d8c70dbe6c8.tar.gz chromium_src-a360ae62c7b0031753debc07e65c2d8c70dbe6c8.tar.bz2 |
Rebaseline to layout tests that are only differ in toString() implementation.
Review URL: http://codereview.chromium.org/12942
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@6427 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'webkit')
10 files changed, 257 insertions, 2 deletions
diff --git a/webkit/data/layout_tests/platform/chromium-linux/LayoutTests/fast/js/README b/webkit/data/layout_tests/platform/chromium-linux/LayoutTests/fast/js/README new file mode 100644 index 0000000..c979d41 --- /dev/null +++ b/webkit/data/layout_tests/platform/chromium-linux/LayoutTests/fast/js/README @@ -0,0 +1,6 @@ +This file documents why the various tests have been rebaselined. + +eval-keyword-vs-function +eval-cross-window +-------------------------- +Only difference is the value of toString() on the window object. diff --git a/webkit/data/layout_tests/platform/chromium-linux/LayoutTests/fast/js/eval-cross-window-expected.txt b/webkit/data/layout_tests/platform/chromium-linux/LayoutTests/fast/js/eval-cross-window-expected.txt new file mode 100644 index 0000000..482a468 --- /dev/null +++ b/webkit/data/layout_tests/platform/chromium-linux/LayoutTests/fast/js/eval-cross-window-expected.txt @@ -0,0 +1,40 @@ +This page verifies that eval, when called as a function, uses the "this" object provided by the call as its variable object, scope chain, and "this" object. However, if the "this" object is not the global object eval was originally associated with, eval throws an exception. + +If the test passes, you'll see a series of pass messages below. + + +----- Scope Chain Head for Getters: ----- + +PASS: window.eval("x") should be 0 and is. +PASS: frames[0].eval("x") should be 1 and is. +PASS: window.eval("x") should be EvalError and is. +PASS: frames[0].eval("x") should be EvalError and is. + +----- Scope Chain for Getters: ----- + +PASS: window.eval("xx") should be ReferenceError and is. +PASS: frames[0].eval("xx") should be ReferenceError and is. +PASS: window.eval("xx") should be EvalError and is. +PASS: frames[0].eval("xx") should be EvalError and is. + +----- Variable Object: ----- + +PASS: window.eval("var y; "y" in top") should be true and is. +PASS: frames[0].eval("var y; "y" in top.frames[0]") should be true and is. +PASS: window.eval("var y; "y" in top.frames[0]") should be EvalError and is. +PASS: frames[0].eval("var y; "y" in top") should be EvalError and is. + +----- Scope Chain for Setters: ----- + +PASS: window.eval("z = 1; top.z") should be 1 and is. +PASS: frames[0].eval("z = 2; top.frames[0].z") should be 2 and is. +PASS: window.eval("z = 3; top.frames[0].z") should be EvalError and is. +PASS: frames[0].eval("z = 4; top.z") should be EvalError and is. + +----- This Object: ----- + +PASS: window.eval("this") should be [object global] and is. +PASS: frames[0].eval("this") should be [object global] and is. +PASS: window.eval("this") should be EvalError and is. +PASS: frames[0].eval("this") should be EvalError and is. + diff --git a/webkit/data/layout_tests/platform/chromium-linux/LayoutTests/fast/js/eval-keyword-vs-function-expected.txt b/webkit/data/layout_tests/platform/chromium-linux/LayoutTests/fast/js/eval-keyword-vs-function-expected.txt new file mode 100644 index 0000000..f3df34a --- /dev/null +++ b/webkit/data/layout_tests/platform/chromium-linux/LayoutTests/fast/js/eval-keyword-vs-function-expected.txt @@ -0,0 +1,40 @@ +This page verifies that eval has two meanings: + +An operator: executes a script in local scope with the local scope's variable object and "this" object. +A global function: executes a script in global scope with the global scope's variable object and "this" object. +Meaning #2 should remain constant even if the global eval function is copied into a global variable ("globalEval") or a local variable ("localEval"). +If the test passes, you'll see a series of pass messages below. + + +----- Scope Chain for Getters: ----- + +PASS: eval("x") should be 1 and is. +PASS: window.eval("x") should be 0 and is. +PASS: globalEval("x") should be 0 and is. +PASS: localEval("x") should be 0 and is. +PASS: (function() { var eval = window.eval; return eval("x"); })() should be 0 and is. + +----- Variable Object: ----- + +PASS: eval("var y; "y" in window") should be false and is. +PASS: window.eval("var y; "y" in window") should be true and is. +PASS: globalEval("var y; "y" in window") should be true and is. +PASS: localEval("var y; "y" in window") should be true and is. +PASS: (function() { var eval = window.eval; return eval("var y; "y" in window"); })() should be true and is. + +----- Scope Chain for Setters: ----- + +PASS: eval("z = 1; window.z") should be 0 and is. +PASS: window.eval("z = 2; window.z") should be 2 and is. +PASS: globalEval("z = 3; window.z") should be 3 and is. +PASS: localEval("z = 4; window.z") should be 4 and is. +PASS: (function() { var eval = window.eval; return eval("z = 5; window.z"); })() should be 5 and is. + +----- This Object: ----- + +PASS: eval("this") should be ["this" object passed to .call()] and is. +PASS: window.eval("this") should be [object global] and is. +PASS: globalEval("this") should be [object global] and is. +PASS: localEval("this") should be [object global] and is. +PASS: (function() { var eval = window.eval; return eval("this"); })() should be [object global] and is. + diff --git a/webkit/data/layout_tests/platform/chromium-mac/LayoutTests/fast/js/README b/webkit/data/layout_tests/platform/chromium-mac/LayoutTests/fast/js/README new file mode 100644 index 0000000..c979d41 --- /dev/null +++ b/webkit/data/layout_tests/platform/chromium-mac/LayoutTests/fast/js/README @@ -0,0 +1,6 @@ +This file documents why the various tests have been rebaselined. + +eval-keyword-vs-function +eval-cross-window +-------------------------- +Only difference is the value of toString() on the window object. diff --git a/webkit/data/layout_tests/platform/chromium-mac/LayoutTests/fast/js/eval-cross-window-expected.txt b/webkit/data/layout_tests/platform/chromium-mac/LayoutTests/fast/js/eval-cross-window-expected.txt new file mode 100644 index 0000000..482a468 --- /dev/null +++ b/webkit/data/layout_tests/platform/chromium-mac/LayoutTests/fast/js/eval-cross-window-expected.txt @@ -0,0 +1,40 @@ +This page verifies that eval, when called as a function, uses the "this" object provided by the call as its variable object, scope chain, and "this" object. However, if the "this" object is not the global object eval was originally associated with, eval throws an exception. + +If the test passes, you'll see a series of pass messages below. + + +----- Scope Chain Head for Getters: ----- + +PASS: window.eval("x") should be 0 and is. +PASS: frames[0].eval("x") should be 1 and is. +PASS: window.eval("x") should be EvalError and is. +PASS: frames[0].eval("x") should be EvalError and is. + +----- Scope Chain for Getters: ----- + +PASS: window.eval("xx") should be ReferenceError and is. +PASS: frames[0].eval("xx") should be ReferenceError and is. +PASS: window.eval("xx") should be EvalError and is. +PASS: frames[0].eval("xx") should be EvalError and is. + +----- Variable Object: ----- + +PASS: window.eval("var y; "y" in top") should be true and is. +PASS: frames[0].eval("var y; "y" in top.frames[0]") should be true and is. +PASS: window.eval("var y; "y" in top.frames[0]") should be EvalError and is. +PASS: frames[0].eval("var y; "y" in top") should be EvalError and is. + +----- Scope Chain for Setters: ----- + +PASS: window.eval("z = 1; top.z") should be 1 and is. +PASS: frames[0].eval("z = 2; top.frames[0].z") should be 2 and is. +PASS: window.eval("z = 3; top.frames[0].z") should be EvalError and is. +PASS: frames[0].eval("z = 4; top.z") should be EvalError and is. + +----- This Object: ----- + +PASS: window.eval("this") should be [object global] and is. +PASS: frames[0].eval("this") should be [object global] and is. +PASS: window.eval("this") should be EvalError and is. +PASS: frames[0].eval("this") should be EvalError and is. + diff --git a/webkit/data/layout_tests/platform/chromium-mac/LayoutTests/fast/js/eval-keyword-vs-function-expected.txt b/webkit/data/layout_tests/platform/chromium-mac/LayoutTests/fast/js/eval-keyword-vs-function-expected.txt new file mode 100644 index 0000000..f3df34a --- /dev/null +++ b/webkit/data/layout_tests/platform/chromium-mac/LayoutTests/fast/js/eval-keyword-vs-function-expected.txt @@ -0,0 +1,40 @@ +This page verifies that eval has two meanings: + +An operator: executes a script in local scope with the local scope's variable object and "this" object. +A global function: executes a script in global scope with the global scope's variable object and "this" object. +Meaning #2 should remain constant even if the global eval function is copied into a global variable ("globalEval") or a local variable ("localEval"). +If the test passes, you'll see a series of pass messages below. + + +----- Scope Chain for Getters: ----- + +PASS: eval("x") should be 1 and is. +PASS: window.eval("x") should be 0 and is. +PASS: globalEval("x") should be 0 and is. +PASS: localEval("x") should be 0 and is. +PASS: (function() { var eval = window.eval; return eval("x"); })() should be 0 and is. + +----- Variable Object: ----- + +PASS: eval("var y; "y" in window") should be false and is. +PASS: window.eval("var y; "y" in window") should be true and is. +PASS: globalEval("var y; "y" in window") should be true and is. +PASS: localEval("var y; "y" in window") should be true and is. +PASS: (function() { var eval = window.eval; return eval("var y; "y" in window"); })() should be true and is. + +----- Scope Chain for Setters: ----- + +PASS: eval("z = 1; window.z") should be 0 and is. +PASS: window.eval("z = 2; window.z") should be 2 and is. +PASS: globalEval("z = 3; window.z") should be 3 and is. +PASS: localEval("z = 4; window.z") should be 4 and is. +PASS: (function() { var eval = window.eval; return eval("z = 5; window.z"); })() should be 5 and is. + +----- This Object: ----- + +PASS: eval("this") should be ["this" object passed to .call()] and is. +PASS: window.eval("this") should be [object global] and is. +PASS: globalEval("this") should be [object global] and is. +PASS: localEval("this") should be [object global] and is. +PASS: (function() { var eval = window.eval; return eval("this"); })() should be [object global] and is. + diff --git a/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/js/README b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/js/README index df926a9..40cd187c 100644 --- a/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/js/README +++ b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/js/README @@ -121,3 +121,8 @@ regexp-overflow -------------------------- This tests artificial limits on the size of regexps. We allow larger regexps than JSCRE. + +eval-keyword-vs-function +eval-cross-window +-------------------------- +Only difference is the value of toString() on the window object. diff --git a/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/js/eval-cross-window-expected.txt b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/js/eval-cross-window-expected.txt new file mode 100644 index 0000000..482a468 --- /dev/null +++ b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/js/eval-cross-window-expected.txt @@ -0,0 +1,40 @@ +This page verifies that eval, when called as a function, uses the "this" object provided by the call as its variable object, scope chain, and "this" object. However, if the "this" object is not the global object eval was originally associated with, eval throws an exception. + +If the test passes, you'll see a series of pass messages below. + + +----- Scope Chain Head for Getters: ----- + +PASS: window.eval("x") should be 0 and is. +PASS: frames[0].eval("x") should be 1 and is. +PASS: window.eval("x") should be EvalError and is. +PASS: frames[0].eval("x") should be EvalError and is. + +----- Scope Chain for Getters: ----- + +PASS: window.eval("xx") should be ReferenceError and is. +PASS: frames[0].eval("xx") should be ReferenceError and is. +PASS: window.eval("xx") should be EvalError and is. +PASS: frames[0].eval("xx") should be EvalError and is. + +----- Variable Object: ----- + +PASS: window.eval("var y; "y" in top") should be true and is. +PASS: frames[0].eval("var y; "y" in top.frames[0]") should be true and is. +PASS: window.eval("var y; "y" in top.frames[0]") should be EvalError and is. +PASS: frames[0].eval("var y; "y" in top") should be EvalError and is. + +----- Scope Chain for Setters: ----- + +PASS: window.eval("z = 1; top.z") should be 1 and is. +PASS: frames[0].eval("z = 2; top.frames[0].z") should be 2 and is. +PASS: window.eval("z = 3; top.frames[0].z") should be EvalError and is. +PASS: frames[0].eval("z = 4; top.z") should be EvalError and is. + +----- This Object: ----- + +PASS: window.eval("this") should be [object global] and is. +PASS: frames[0].eval("this") should be [object global] and is. +PASS: window.eval("this") should be EvalError and is. +PASS: frames[0].eval("this") should be EvalError and is. + diff --git a/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/js/eval-keyword-vs-function-expected.txt b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/js/eval-keyword-vs-function-expected.txt new file mode 100644 index 0000000..f3df34a --- /dev/null +++ b/webkit/data/layout_tests/platform/chromium-win/LayoutTests/fast/js/eval-keyword-vs-function-expected.txt @@ -0,0 +1,40 @@ +This page verifies that eval has two meanings: + +An operator: executes a script in local scope with the local scope's variable object and "this" object. +A global function: executes a script in global scope with the global scope's variable object and "this" object. +Meaning #2 should remain constant even if the global eval function is copied into a global variable ("globalEval") or a local variable ("localEval"). +If the test passes, you'll see a series of pass messages below. + + +----- Scope Chain for Getters: ----- + +PASS: eval("x") should be 1 and is. +PASS: window.eval("x") should be 0 and is. +PASS: globalEval("x") should be 0 and is. +PASS: localEval("x") should be 0 and is. +PASS: (function() { var eval = window.eval; return eval("x"); })() should be 0 and is. + +----- Variable Object: ----- + +PASS: eval("var y; "y" in window") should be false and is. +PASS: window.eval("var y; "y" in window") should be true and is. +PASS: globalEval("var y; "y" in window") should be true and is. +PASS: localEval("var y; "y" in window") should be true and is. +PASS: (function() { var eval = window.eval; return eval("var y; "y" in window"); })() should be true and is. + +----- Scope Chain for Setters: ----- + +PASS: eval("z = 1; window.z") should be 0 and is. +PASS: window.eval("z = 2; window.z") should be 2 and is. +PASS: globalEval("z = 3; window.z") should be 3 and is. +PASS: localEval("z = 4; window.z") should be 4 and is. +PASS: (function() { var eval = window.eval; return eval("z = 5; window.z"); })() should be 5 and is. + +----- This Object: ----- + +PASS: eval("this") should be ["this" object passed to .call()] and is. +PASS: window.eval("this") should be [object global] and is. +PASS: globalEval("this") should be [object global] and is. +PASS: localEval("this") should be [object global] and is. +PASS: (function() { var eval = window.eval; return eval("this"); })() should be [object global] and is. + diff --git a/webkit/tools/layout_tests/test_lists/tests_fixable.txt b/webkit/tools/layout_tests/test_lists/tests_fixable.txt index 9aa53908..707d946 100644 --- a/webkit/tools/layout_tests/test_lists/tests_fixable.txt +++ b/webkit/tools/layout_tests/test_lists/tests_fixable.txt @@ -531,8 +531,6 @@ SKIP : LayoutTests/http/tests/appcache = TIMEOUT FAIL // V8 failures as a result of the WebKit merge. // http://code.google.com/p/v8/issues/detail?id=92 LayoutTests/fast/js/constructor-attributes.html = FAIL -LayoutTests/fast/js/eval-cross-window.html = FAIL -LayoutTests/fast/js/eval-keyword-vs-function.html = FAIL LayoutTests/fast/js/exception-try-finally-scope-error.html = FAIL LayoutTests/fast/js/function-dot-arguments-and-caller.html = FAIL LayoutTests/fast/js/global-recursion-on-full-stack.html = FAIL |