[iOS] TestWebKitAPI.PasteImage tests are flaky failures
authorwenson_hsieh@apple.com <wenson_hsieh@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 30 Aug 2018 14:35:27 +0000 (14:35 +0000)
committerwenson_hsieh@apple.com <wenson_hsieh@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 30 Aug 2018 14:35:27 +0000 (14:35 +0000)
https://bugs.webkit.org/show_bug.cgi?id=185965

Reviewed by Andy Estes.

These tests pass reliably when run locally, but sometimes fail in automation when checking that the image
element with its "src" attribute set to a new blob URL has an empty size. It's possible that this is happening
because we're checking the size of the image element prior to image load after setting the blob URL; we can fix
this by waiting for the "load" event (which is also done in some of the other tests in this file).

* TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm:
(TEST):

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

Tools/ChangeLog
Tools/TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm

index 18563b5..09ea6b9 100644 (file)
@@ -1,3 +1,18 @@
+2018-08-30  Wenson Hsieh  <wenson_hsieh@apple.com>
+
+        [iOS] TestWebKitAPI.PasteImage tests are flaky failures
+        https://bugs.webkit.org/show_bug.cgi?id=185965
+
+        Reviewed by Andy Estes.
+
+        These tests pass reliably when run locally, but sometimes fail in automation when checking that the image
+        element with its "src" attribute set to a new blob URL has an empty size. It's possible that this is happening
+        because we're checking the size of the image element prior to image load after setting the blob URL; we can fix
+        this by waiting for the "load" event (which is also done in some of the other tests in this file).
+
+        * TestWebKitAPI/Tests/WebKitCocoa/PasteImage.mm:
+        (TEST):
+
 2018-08-30  Michael Catanzaro  <mcatanzaro@igalia.com>
 
         Unreviewed, rolling out r235114.
index 89bc05a..01591b2 100644 (file)
@@ -67,6 +67,7 @@ TEST(PasteImage, PasteGIFImage)
     EXPECT_WK_STREQ("true", [webView stringByEvaluatingJavaScript:@"dataTransfer.files.includes(gifItem.file).toString()"]);
 
     [webView stringByEvaluatingJavaScript:@"insertFileAsImage(gifItem.file)"];
+    [webView waitForMessage:@"loaded"];
     EXPECT_WK_STREQ("blob:", [webView stringByEvaluatingJavaScript:@"url = new URL(imageElement.src); url.protocol"]);
     EXPECT_WK_STREQ("400", [webView stringByEvaluatingJavaScript:@"imageElement.width"]);
 }
@@ -89,6 +90,7 @@ TEST(PasteImage, PasteJPEGImage)
     EXPECT_WK_STREQ("true", [webView stringByEvaluatingJavaScript:@"dataTransfer.files.includes(jpegItem.file).toString()"]);
 
     [webView stringByEvaluatingJavaScript:@"insertFileAsImage(jpegItem.file)"];
+    [webView waitForMessage:@"loaded"];
     EXPECT_WK_STREQ("blob:", [webView stringByEvaluatingJavaScript:@"url = new URL(imageElement.src); url.protocol"]);
     EXPECT_WK_STREQ("600", [webView stringByEvaluatingJavaScript:@"imageElement.width"]);
 }
@@ -111,6 +113,7 @@ TEST(PasteImage, PastePNGImage)
     EXPECT_WK_STREQ("true", [webView stringByEvaluatingJavaScript:@"dataTransfer.files.includes(pngItem.file).toString()"]);
 
     [webView stringByEvaluatingJavaScript:@"insertFileAsImage(pngItem.file)"];
+    [webView waitForMessage:@"loaded"];
     EXPECT_WK_STREQ("blob:", [webView stringByEvaluatingJavaScript:@"url = new URL(imageElement.src); url.protocol"]);
     EXPECT_WK_STREQ("200", [webView stringByEvaluatingJavaScript:@"imageElement.width"]);
 }