Make focusing-element-with-tabindex-by-tap-or-click.html more robust on iOS
authorrniwa@webkit.org <rniwa@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 3 May 2019 05:02:30 +0000 (05:02 +0000)
committerrniwa@webkit.org <rniwa@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 3 May 2019 05:02:30 +0000 (05:02 +0000)
https://bugs.webkit.org/show_bug.cgi?id=197548

Reviewed by Wenson Hsieh.

There was a race between the time the editable element was focused and the keyboard was brought up
to when the next non-editable element was focused. Made the test explicitly wait for the keyboard
to come up and go down between test cases to make it more robust.

* fast/events/focusing-element-with-tabindex-by-tap-or-click.html:

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

LayoutTests/ChangeLog
LayoutTests/fast/events/focusing-element-with-tabindex-by-tap-or-click.html

index 27c59a8..242298f 100644 (file)
@@ -1,3 +1,16 @@
+2019-05-02  Ryosuke Niwa  <rniwa@webkit.org>
+
+        Make focusing-element-with-tabindex-by-tap-or-click.html more robust on iOS
+        https://bugs.webkit.org/show_bug.cgi?id=197548
+
+        Reviewed by Wenson Hsieh.
+
+        There was a race between the time the editable element was focused and the keyboard was brought up
+        to when the next non-editable element was focused. Made the test explicitly wait for the keyboard
+        to come up and go down between test cases to make it more robust.
+
+        * fast/events/focusing-element-with-tabindex-by-tap-or-click.html:
+
 2019-05-02  Chris Dumez  <cdumez@apple.com>
 
         Add test coverage for <rdar://problem/49731231>
index 89ff636..9e45f53 100644 (file)
@@ -18,12 +18,14 @@ description('This tests tapping or clicking on an element with tabindex would fo
 jsTestIsAsync = true;
 
 async function runTests() {
-    await UIHelper.activateAt(contentEditableElement.offsetLeft + 5, contentEditableElement.offsetTop + 5);
+    await UIHelper.activateElementAndWaitForInputSession(contentEditableElement);
     shouldBe('"Activated contentEditableElement"; document.activeElement', 'contentEditableElement');
 
     await UIHelper.activateAt(elementWithTabIndexAndClickHandler.offsetLeft + 5, elementWithTabIndexAndClickHandler.offsetTop + 5);
     shouldBe('"Activated elementWithTabIndexAndClickHandler"; document.activeElement', 'elementWithTabIndexAndClickHandler');
 
+    await UIHelper.waitForKeyboardToHide();
+
     await UIHelper.activateAt(elementWithTabIndex.offsetLeft + 5, elementWithTabIndex.offsetTop + 5);
     shouldBe('"Activated elementWithTabIndex"; document.activeElement', 'elementWithTabIndex');
 }