[ Mac ] Layout Test accessibility/mac/press-not-work-for-disabled-menu-list.html...
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 2 Aug 2019 23:20:31 +0000 (23:20 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 2 Aug 2019 23:20:31 +0000 (23:20 +0000)
https://bugs.webkit.org/show_bug.cgi?id=196505
<rdar://problem/49532620>

Patch by Andres Gonzalez <andresg_22@apple.com> on 2019-08-02
Reviewed by Chris Fleizach.

Re-wrote test in a timing independent way. This should fix the intermittent failures.
* accessibility/mac/press-not-work-for-disabled-menu-list.html:

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

LayoutTests/ChangeLog
LayoutTests/accessibility/mac/press-not-work-for-disabled-menu-list.html

index 0dc8b9a..fed8424 100644 (file)
@@ -1,3 +1,14 @@
+2019-08-02  Andres Gonzalez  <andresg_22@apple.com>
+
+        [ Mac ] Layout Test accessibility/mac/press-not-work-for-disabled-menu-list.html is a flaky failure
+        https://bugs.webkit.org/show_bug.cgi?id=196505
+        <rdar://problem/49532620>
+
+        Reviewed by Chris Fleizach.
+
+        Re-wrote test in a timing independent way. This should fix the intermittent failures.
+        * accessibility/mac/press-not-work-for-disabled-menu-list.html:
+
 2019-08-02  Yury Semikhatsky  <yurys@chromium.org>
 
         Web Inspector: Crash when interacting with Template Content in Console
index db44d39..40b718e 100644 (file)
     description("This tests that menu lists that are disabled will not be triggered by AXPress actions.");
 
     // We don't test for enabled controls because opening menu lists waits on the UI process to display the menu.
-    var numOfTests = 3, notificationCount = 0;
+    var testCount = 3, testIndex = 0;
     var lists = [null, null, null];
-    if (window.accessibilityController) {
-        jsTestIsAsync = true;
-        pressNext(0);
-    }
 
-    function pressNext(testId) {
-        if (testId > numOfTests)
+    function testNextList() {
+        if (testIndex >= testCount) {
+            finishJSTest();
             return;
-        var menulist = accessibilityController.accessibleElementById("test" + testId);
+        }
+
+        var menulist = accessibilityController.accessibleElementById("test" + testIndex);
         menulist.addNotificationListener(pressListener);
         menulist.press();
-        lists[testId] = menulist;
-        window.setTimeout(function() {
-            pressNext(testId + 1);
-        }, 0);
+        lists[testIndex] = menulist;
     }
 
     function pressListener(notification) {
-        if (notification == "AXPressDidFail" || notification == "AXPressDidSucceed")
-            notificationCount++;
+        lists[testIndex].removeNotificationListener(pressListener);
 
         debug("Got notification: " + notification);
-        lists[notificationCount-1].removeNotificationListener(pressListener);
-        if (notificationCount == numOfTests) {
-            finishJSTest();
-        }
+
+        testIndex++;
+        testNextList();
+    }
+
+    if (window.accessibilityController) {
+        jsTestIsAsync = true;
+        testNextList();
     }
 </script>