Adjust test expectations for fast/js/toString-overrides.html and fast/js/eval-cross...
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 23 Aug 2012 22:50:05 +0000 (22:50 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 23 Aug 2012 22:50:05 +0000 (22:50 +0000)
https://bugs.webkit.org/show_bug.cgi?id=94824

Patch by Ulan Degenbaev <ulan@chromium.org> on 2012-08-23
Reviewed by Kentaro Hara.

Add a bug number for tracking failing cases in fast/js/toString-overrides.html.
Upload Chromium specific test expectations for fast/js/eval-cross-window.html.

Failing tests in eval-cross-window swap the eval() function in the main window and the frame.
This behaviour is not specified in ECMA-262 and is probably implementation dependent.
Both Firefox and Chromium produce the same result for this test.

* platform/chromium/TestExpectations:
* platform/chromium/fast/js/eval-cross-window-expected.txt: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@126489 268f45cc-cd09-0410-ab3c-d52691b4dbfc

LayoutTests/ChangeLog
LayoutTests/platform/chromium/TestExpectations
LayoutTests/platform/chromium/fast/js/eval-cross-window-expected.txt [new file with mode: 0644]

index e700736..1ff6903 100644 (file)
@@ -1,3 +1,20 @@
+2012-08-23  Ulan Degenbaev  <ulan@chromium.org>
+
+        Adjust test expectations for fast/js/toString-overrides.html and fast/js/eval-cross-window.html
+        https://bugs.webkit.org/show_bug.cgi?id=94824
+
+        Reviewed by Kentaro Hara.
+
+        Add a bug number for tracking failing cases in fast/js/toString-overrides.html.
+        Upload Chromium specific test expectations for fast/js/eval-cross-window.html.
+
+        Failing tests in eval-cross-window swap the eval() function in the main window and the frame.
+        This behaviour is not specified in ECMA-262 and is probably implementation dependent.
+        Both Firefox and Chromium produce the same result for this test.
+
+        * platform/chromium/TestExpectations:
+        * platform/chromium/fast/js/eval-cross-window-expected.txt: Added.
+
 2012-08-23  Mike West  <mkwst@chromium.org>
 
         Trailing spaces in CSP source lists should not generate console warnings.
index 5cfd845..60390c1 100644 (file)
@@ -2720,8 +2720,7 @@ BUGWK71278 SLOW WIN : fast/events/dispatch-message-string-data.html = PASS
 BUGWK71451 SLOW : fast/frames/sandboxed-iframe-navigation-windowopen.html = PASS
 
 BUGWK94681 : fast/js/array-functions-non-arrays.html = TEXT
-BUGRICOW : fast/js/eval-cross-window.html = TEXT
-BUGRICOW : fast/js/toString-overrides.html = TEXT
+BUGWK94688 : fast/js/toString-overrides.html = TEXT
 
 BUGWK91944 : platform/chromium/virtual/gpu/fast/canvas/canvas-transforms-fillRect-shadow.html = TEXT
 
diff --git a/LayoutTests/platform/chromium/fast/js/eval-cross-window-expected.txt b/LayoutTests/platform/chromium/fast/js/eval-cross-window-expected.txt
new file mode 100644 (file)
index 0000000..d1de8f7
--- /dev/null
@@ -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.
+FAIL: window.eval("x") should be EvalError but instead is 1.
+FAIL: frames[0].eval("x") should be EvalError but instead is undefined.
+
+----- Scope Chain for Getters: -----
+
+PASS: window.eval("xx") should be ReferenceError and is.
+PASS: frames[0].eval("xx") should be ReferenceError and is.
+FAIL: window.eval("xx") should be EvalError but instead is ReferenceError.
+FAIL: frames[0].eval("xx") should be EvalError but instead is ReferenceError.
+
+----- 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.
+FAIL: window.eval("var y; "y" in top.frames[0]") should be EvalError but instead is undefined.
+FAIL: frames[0].eval("var y; "y" in top") should be EvalError but instead is undefined.
+
+----- 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.
+FAIL: window.eval("z = 3; top.frames[0].z") should be EvalError but instead is undefined.
+FAIL: frames[0].eval("z = 4; top.z") should be EvalError but instead is undefined.
+
+----- This Object: -----
+
+PASS: window.eval("this") should be [object Window] and is.
+PASS: frames[0].eval("this") should be [object Window] and is.
+FAIL: window.eval("this") should be EvalError but instead is undefined.
+FAIL: frames[0].eval("this") should be EvalError but instead is undefined.
+