2008-06-07 Cameron Zwarich <cwzwarich@uwaterloo.ca>
authorcwzwarich@webkit.org <cwzwarich@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 7 Jun 2008 07:58:38 +0000 (07:58 +0000)
committercwzwarich@webkit.org <cwzwarich@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 7 Jun 2008 07:58:38 +0000 (07:58 +0000)
        Reviewed by Oliver.

        Bug 17663: Wrong sequencing of argument list evaluation
        <https://bugs.webkit.org/show_bug.cgi?id=17663>

        SquirrelFish fixed this bug, but we should add a test.

        LayoutTests:

        * fast/js/order-of-operations-expected.txt:
        * fast/js/resources/order-of-operations.js:

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

LayoutTests/ChangeLog
LayoutTests/fast/js/order-of-operations-expected.txt
LayoutTests/fast/js/resources/order-of-operations.js

index 8dff9fd..96f9d56 100644 (file)
@@ -1,3 +1,15 @@
+2008-06-07  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
+
+        Reviewed by Oliver.
+
+        Bug 17663: Wrong sequencing of argument list evaluation
+        <https://bugs.webkit.org/show_bug.cgi?id=17663>
+
+        SquirrelFish fixed this bug, but we should add a test.
+
+        * fast/js/order-of-operations-expected.txt:
+        * fast/js/resources/order-of-operations.js:
+
 2008-06-06  Robert Blaut  <webkit@blaut.biz>
 
         Reviewed by Darin Adler.
index 13c7a83..20f34de 100644 (file)
@@ -15,6 +15,7 @@ PASS (function(){ leftRight = ""; left() && right(); return leftRight; })() is "
 PASS (function(){ leftRight = ""; left() & right(); return leftRight; })() is "LeftRight"
 PASS (function(){ leftRight = ""; left() | right(); return leftRight; })() is "LeftRight"
 PASS (function(){ leftRight = ""; left() ^ right(); return leftRight; })() is "LeftRight"
+PASS testEvaluationOfArguments() is true
 PASS successfullyParsed is true
 
 TEST COMPLETE
index fdcef7f..bd8936e 100644 (file)
@@ -25,4 +25,22 @@ shouldBe('(function(){ leftRight = ""; left() & right(); return leftRight; })()'
 shouldBe('(function(){ leftRight = ""; left() | right(); return leftRight; })()', '"LeftRight"');
 shouldBe('(function(){ leftRight = ""; left() ^ right(); return leftRight; })()', '"LeftRight"');
 
+function testEvaluationOfArguments()
+{
+    function throwPass()
+    {
+        throw "PASS";
+    }
+    
+    var nonFunction = 42;
+    
+    try {
+        nonFunction(throwPass());
+    } catch (e) {
+        return e == "PASS";
+    }
+}
+
+shouldBeTrue("testEvaluationOfArguments()");
+
 var successfullyParsed = true;