Make change-values-during-transition less flaky. Transition is 1 sec duration,
authorjparent@chromium.org <jparent@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 2 Dec 2009 21:36:03 +0000 (21:36 +0000)
committerjparent@chromium.org <jparent@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 2 Dec 2009 21:36:03 +0000 (21:36 +0000)
translating 100px, starting at 0, so it should be at 50px at 500ms, not 600ms.

Reviewed by Darin Adler.

https://bugs.webkit.org/show_bug.cgi?id=31997

* transitions/change-values-during-transition.html:
isEqual: Remove unnecessary code - tolerance always passed in and always default value.
getXPosition: Extract into a function, since it is duplicated twice.
check2: Still run second check if the first fails, just give more debugging output.
start: Remove final setTimeout - nothing changes between the end of check2 and here,
    so this is just making the test take 100ms longer.

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

LayoutTests/ChangeLog
LayoutTests/transitions/change-values-during-transition.html

index 1a1df8e78b228467674b9fcf3da583ec4e4ea23c..a0f812e5373d70b7f0435857ced709c4fe3ac0d5 100644 (file)
@@ -1,3 +1,19 @@
+2009-11-30  Julie Parent  <jparent@chromium.org>
+
+        Reviewed by Darin Adler.
+
+        Make change-values-during-transition less flaky.  Transition is 1 sec duration,
+        translating 100px, starting at 0, so it should be at 50px at 500ms, not 600ms.
+                
+        https://bugs.webkit.org/show_bug.cgi?id=31997
+
+        * transitions/change-values-during-transition.html:
+        isEqual: Remove unnecessary code - tolerance always passed in and always default value.
+        getXPosition: Extract into a function, since it is duplicated twice.
+        check2: Still run second check if the first fails, just give more debugging output.
+        start: Remove final setTimeout - nothing changes between the end of check2 and here,
+            so this is just making the test take 100ms longer.
+
 2009-12-02  Brian Weinstein  <bweinstein@apple.com>
 
         Rubber-stamped by Adam Roben.
index d864465d7004c74015c09d0f47b7009fce554fad..df0038f636dc4e18169b93a33cb71dd5056ea21c 100644 (file)
       layoutTestController.waitUntilDone();
     }
     
-    result = "PASS";
+    var result = "PASS";
     const defaultTolerance = 10;
     
-    function isEqual(actual, desired, tolerance)
+    function isCloseEnough(actual, desired)
     {
-        if (tolerance == undefined || tolerance == 0)
-            tolerance = defaultTolerance;
         var diff = Math.abs(actual - desired);
-        return diff < tolerance;
+        return diff < defaultTolerance;
     }
     
     function changeValues()
         box.style.webkitTransitionDuration = "0.1s";
     }
     
-    function check1()
+    function getXPosition()
     {
         var t = window.getComputedStyle(document.getElementById('box')).webkitTransform;
-        var t = t.split("(");
-        var t = t[1].split(",");
-        if (!isEqual(t[4], 50, defaultTolerance))
-            result = "FAIL(was:"+t[4]+", s/b:50)";
+        t = t.split("(");
+        t = t[1].split(",");
+        return t[4];
+    }
+    
+    function check1()
+    {
+        var xPos = getXPosition();
+        if (!isCloseEnough(xPos, 50))
+            result = "FAIL(was:"+xPos+", s/b:50)";
     }
 
     function check2()
     {
-        if (result != "PASS")
-            return;
+        var xPos = getXPosition();
+        if (!isCloseEnough(xPos, 0))
+            result += "FAIL(was:"+xPos+", s/b:0)";
             
-        var t = window.getComputedStyle(document.getElementById('box')).webkitTransform;
-        var t = t.split("(");
-        var t = t[1].split(",");
-        if (!isEqual(t[4], 0, defaultTolerance))
-            result = "FAIL(was:"+t[4]+", s/b:0)";
+        document.getElementById('result').innerText = result;
+        if (window.layoutTestController)
+            layoutTestController.notifyDone();
     }
     
     function goBack()
     {
         var box = document.getElementById('box');
         setTimeout("changeValues()", 100);
-        setTimeout("check1()", 600);
+        setTimeout("check1()", 500);
         setTimeout("check2()", 1300);
         box.style.webkitTransform = 'translateX(100px)';
-        
-        window.setTimeout(function() {
-            document.getElementById('result').innerHTML = result;
-            if (window.layoutTestController)
-                layoutTestController.notifyDone();
-        }, 1400);
     }
     
     window.addEventListener('load', start, false);