From a762b73932be1a327939eecc115889277fed61dd Mon Sep 17 00:00:00 2001
From: Gustavo Noronha <gustavo.noronha@collabora.com>
Date: Fri, 1 Mar 2019 18:43:54 +0000
Subject: [PATCH] Update WebKit2GTK+ test cases for move to upstream

With the move to upstream WebKit2GTK+, there is no longer a custom
launcher that uses Clutter, and MiniBrowser should be used instead.

We also take the opportunity to move away from the model of shipping
test data on packages, and add a new test data repository to gitlab
instead.
---
 test-cases/webkit2gtk-ac-3d-rendering.yaml    | 12 +++++----
 test-cases/webkit2gtk-ac-animations.yaml      | 25 +++++++++++--------
 test-cases/webkit2gtk-ac-scrolling.yaml       | 15 ++++++++---
 test-cases/webkit2gtk-drag-and-drop.yaml      |  9 ++++---
 .../webkit2gtk-event-handling-redesign.yaml   |  9 ++++---
 test-cases/webkit2gtk-gstreamer1.0.yaml       | 11 +++++---
 test-cases/webkit2gtk-mt-touch-events.yaml    |  9 ++++---
 7 files changed, 57 insertions(+), 33 deletions(-)

diff --git a/test-cases/webkit2gtk-ac-3d-rendering.yaml b/test-cases/webkit2gtk-ac-3d-rendering.yaml
index 274b7b9..5133a8b 100644
--- a/test-cases/webkit2gtk-ac-3d-rendering.yaml
+++ b/test-cases/webkit2gtk-ac-3d-rendering.yaml
@@ -16,8 +16,6 @@ metadata:
   resources:
     - "A monitor connected to the testing target."
 
-  macro_install_packages_preconditions: webkit2gtk-testing
-
   expected:
     - "This test shows 4 squares with 3D rotation, they should look like they have
        depth; see the correct image and what it would look like if 3D rendering
@@ -28,9 +26,13 @@ metadata:
     - "Not working under X11 or VirtualBox, see:
        https://phabricator.apertis.org/T2625"
 
+install:
+  git-repos:
+    - url: https://gitlab.apertis.org/tests/webkit2gtk.git
+      branch: 'apertis/v2019dev0'
+
 run:
   steps:
-    - "Run GtkClutterLauncher with the URL listed in the resources section as
-       argument:"
-    - $ GtkClutterLauncher file:///usr/share/webkit2gtk/testing/LayoutTests/transforms/3d/hit-testing/rotated-hit-test2.html
+    - "Run MiniBrowser with the path of the HTML as argument:"
+    - $ /usr/lib/*/webkit2gtk-4.0/MiniBrowser webkit2gtk/ac-3d-rendering.html
     - "Verify rendering matches one of the two references below."
diff --git a/test-cases/webkit2gtk-ac-animations.yaml b/test-cases/webkit2gtk-ac-animations.yaml
index 5ad0375..1f33e66 100644
--- a/test-cases/webkit2gtk-ac-animations.yaml
+++ b/test-cases/webkit2gtk-ac-animations.yaml
@@ -11,18 +11,12 @@ metadata:
   exec-type: manual
   priority: medium
   maintainer: "Apertis Project"
-  description: "Test that Webkit2GTK actors created for representing layers
-                animate properly."
+  description: "Test that compositing layers are created for animating properly."
 
   resources:
     - "A monitor connected to the testing target."
 
-  macro_install_packages_preconditions: webkit2gtk-testing
-
   expected:
-    - "Note that the tests log the results to the HTML page as it runs. The
-       contents of the log are not to be taken into account for the purpose of
-       this test. A FAIL in the logs does not mean this test case failed."
     - "In the first URI, the two squares will rotate for 10 seconds. While
        rotating, they should have a blue border, which indicates they are AC
        layers. The expected rendering can be seen in the following video:"
@@ -35,12 +29,21 @@ metadata:
     - "If the result does not match the squares as seen in the videos above, the
        test has failed."
 
+  notes:
+    - "Not working under X11 or VirtualBox, see:
+       https://phabricator.apertis.org/T2625"
+
+install:
+  git-repos:
+    - url: https://gitlab.apertis.org/tests/webkit2gtk.git
+      branch: 'apertis/v2019dev0'
+
 run:
   steps:
-    - "Run the following command:"
-    - $ GtkClutterLauncher file:///usr/share/webkit2gtk/testing/LayoutTests/animations/simultaneous-start-transform.html
+    - "Run MiniBrowser with the path of the HTML as argument:"
+    - $ /usr/lib/*/webkit2gtk-4.0/MiniBrowser --draw-compositing-indicators=true webkit2gtk/animation1.html
     - "Verify animation match the reference rendering below."
-    - "Either close GtkClutterLauncher and run the following command, or just
+    - "Either close MiniBrowser and run the following command, or just
        copy/paste the URI into the existing window:"
-    - $ GtkClutterLauncher file:///usr/share/webkit2gtk/testing/LayoutTests/animations//missing-keyframe-properties.html
+    - $ /usr/lib/*/webkit2gtk-4.0/MiniBrowser --draw-compositing-indicators=true webkit2gtk/animation2.html
     - "Verify animation match the reference rendering below."
diff --git a/test-cases/webkit2gtk-ac-scrolling.yaml b/test-cases/webkit2gtk-ac-scrolling.yaml
index b767135..14ee51c 100644
--- a/test-cases/webkit2gtk-ac-scrolling.yaml
+++ b/test-cases/webkit2gtk-ac-scrolling.yaml
@@ -17,8 +17,6 @@ metadata:
     - "A monitor connected to the testing target."
     - "A mouse or touchscreen."
 
-  macro_install_packages_preconditions: webkit2gtk-testing
-
   expected:
     - "After the test page is loaded, the border of the GraphicsLayerActor must
        scroll in sync with the rest of the content as shown in the following
@@ -27,9 +25,18 @@ metadata:
     - "This test will be considered a PASS if it works with at least one of mouse
        or touchpad because this is not a test for the mouse or touchpad working."
 
+  notes:
+    - "Not working under X11 or VirtualBox, see:
+       https://phabricator.apertis.org/T2625"
+
+install:
+  git-repos:
+    - url: https://gitlab.apertis.org/tests/webkit2gtk.git
+      branch: 'apertis/v2019dev0'
+
 run:
   steps:
-    - "Run GtkClutterLauncher telling it to use 400x400 and loading the test page:"
-    - $ env CLUTTER_PAINT=paint-volumes GtkClutterLauncher -g 400x400 file:///usr/share/webkit2gtk/testing/LayoutTests/compositing/scroll-painted-composited-content.html
+    - "Run MiniBrowser telling it to use 400x400 and loading the test page:"
+    - $ /usr/lib/*/webkit2gtk-4.0/MiniBrowser --draw-compositing-indicators=true -g 400x400 webkit2gtk/scroll-composited.html
     - "Scroll the page to the left until you can see the GraphicsLayerActor
        border, verify that it scrolls along with the text above it."
diff --git a/test-cases/webkit2gtk-drag-and-drop.yaml b/test-cases/webkit2gtk-drag-and-drop.yaml
index d4ec20d..d90b6e9 100644
--- a/test-cases/webkit2gtk-drag-and-drop.yaml
+++ b/test-cases/webkit2gtk-drag-and-drop.yaml
@@ -17,8 +17,6 @@ metadata:
     - "A touch-screen."
     - "A mouse."
 
-  macro_install_packages_preconditions: webkit2gtk-testing
-
   expected:
     - "Dragging with the mouse the first \"Drag me!\" box to the \"Drop here\" box
        below should copy the dragged item and should not pan the page."
@@ -45,7 +43,12 @@ metadata:
     - "Dragging with a single touch in any point outside the \"Drag me!\" boxes
        should pan the page."
 
+install:
+  git-repos:
+    - url: https://gitlab.apertis.org/tests/webkit2gtk.git
+      branch: 'apertis/v2019dev0'
+
 run:
   steps:
    - "Run the test program:"
-   - $ GtkClutterLauncher file:///usr/share/webkit2gtk/testing/drag.html
+   - $ /usr/lib/*/webkit2gtk-4.0/MiniBrowser webkit2gtk/drag.html
diff --git a/test-cases/webkit2gtk-event-handling-redesign.yaml b/test-cases/webkit2gtk-event-handling-redesign.yaml
index b639e68..e862157 100644
--- a/test-cases/webkit2gtk-event-handling-redesign.yaml
+++ b/test-cases/webkit2gtk-event-handling-redesign.yaml
@@ -17,8 +17,6 @@ metadata:
   resources:
     - "A touch-screen with multiple touch points."
 
-  macro_install_packages_preconditions: webkit2gtk-testing
-
   expected:
     - "A page with many nested scrollable elements should be rendered."
     - "Dragging the right side of the page with a single touch or mouse click
@@ -38,10 +36,15 @@ metadata:
     - "Clicking one of the links at the bottom of the page should take you to the
        appropriate page (www.collabora.com or planet.collabora.com)."
 
+install:
+  git-repos:
+    - url: https://gitlab.apertis.org/tests/webkit2gtk.git
+      branch: 'apertis/v2019dev0'
+
 run:
   steps:
     - "Run the following command:"
-    - $ GtkClutterLauncher -g 700x600 file:///usr/share/webkit2gtk/testing/scroll.html
+    - $ /usr/lib/*/webkit2gtk-4.0/MiniBrowser -g 700x600 webkit2gtk/scroll.html
     - "Wait for the page to load, there will be two in-page scrollable areas,
        with a text entry in between them."
     - "Scroll the main page until you align the top of the text entry with the
diff --git a/test-cases/webkit2gtk-gstreamer1.0.yaml b/test-cases/webkit2gtk-gstreamer1.0.yaml
index f518766..95b18f0 100644
--- a/test-cases/webkit2gtk-gstreamer1.0.yaml
+++ b/test-cases/webkit2gtk-gstreamer1.0.yaml
@@ -13,14 +13,17 @@ metadata:
   maintainer: "Apertis Project"
   description: "Tests html5 video playback with GStreamer 1.0 in WebKit2GTK.
                 This test opens an URL to stream video and audio using
-                GtkClutterLauncher."
-
-  macro_install_packages_preconditions: webkit2gtk-testing
+                MiniBrowser."
 
   expected:
     - "The video starts playing, with sound."
 
+install:
+  git-repos:
+    - url: https://gitlab.apertis.org/tests/webkit2gtk.git
+      branch: 'apertis/v2019dev0'
+
 run:
   steps:
     - "Launch the test application with the following URL running as normal user:"
-    - $ GtkClutterLauncher http://people.collabora.com/~em/wk/tests/video.html
+    - $ /usr/lib/*/webkit2gtk-4.0/MiniBrowser webkit2gtk/video.html
diff --git a/test-cases/webkit2gtk-mt-touch-events.yaml b/test-cases/webkit2gtk-mt-touch-events.yaml
index 4234508..d13bb51 100644
--- a/test-cases/webkit2gtk-mt-touch-events.yaml
+++ b/test-cases/webkit2gtk-mt-touch-events.yaml
@@ -13,8 +13,6 @@ metadata:
   description: "Test implementation of W3C touch events API in WebKit2GTK."
   maintainer: "Apertis Project"
 
-  macro_install_packages_preconditions: webkit2gtk-testing
-
   resources:
     - "A touch-screen with multiple touch points."
 
@@ -25,7 +23,12 @@ metadata:
     - "Check that when pressing and dragging using the mouse, a line is drawn
        in the \"Mouse canvas\"."
 
+install:
+  git-repos:
+    - url: https://gitlab.apertis.org/tests/webkit2gtk.git
+      branch: 'apertis/v2019dev0'
+
 run:
   steps:
     - "Launch the test application with one of the URL in resources:"
-    - $ GtkClutterLauncher file:///usr/share/webkit2gtk/testing/touchevents.html
+    - $ /usr/lib/*/webkit2gtk-4.0/MiniBrowser webkit2gtk/touchevents.html
-- 
GitLab