Title: [217890] trunk/LayoutTests
Revision
217890
Author
[email protected]
Date
2017-06-07 10:36:51 -0700 (Wed, 07 Jun 2017)

Log Message

Rebaseline and enable media/modern-media-controls/button
https://bugs.webkit.org/show_bug.cgi?id=173058
<rdar://problem/32615846>

Reviewed by Eric Carlson.

The IconButton class was removed and merged into its superclass Button, so we merge those tests
in a single directory. A couple tests no longer applied as we do not have a focused state for
buttons anymore, nor do we deal with changes in layout traits since there is no such thing as
a compact mode anymore.

* media/modern-media-controls/button/button-active-state-expected.txt: Added.
* media/modern-media-controls/button/button-active-state.html: Renamed from LayoutTests/media/modern-media-controls/icon-button/icon-button-active-state.html.
* media/modern-media-controls/button/button-icon-name-expected.txt: Added.
* media/modern-media-controls/button/button-icon-name.html: Added.
* media/modern-media-controls/button/button-on-expected.txt: Added.
* media/modern-media-controls/button/button-on.html: Renamed from LayoutTests/media/modern-media-controls/icon-button/icon-button-on.html.
* media/modern-media-controls/button/button.html:
* media/modern-media-controls/icon-button/icon-button-active-state-expected.txt: Removed.
* media/modern-media-controls/icon-button/icon-button-change-layout-traits-expected.txt: Removed.
* media/modern-media-controls/icon-button/icon-button-change-layout-traits.html: Removed.
* media/modern-media-controls/icon-button/icon-button-expected.txt: Removed.
* media/modern-media-controls/icon-button/icon-button-focus-state-expected.txt: Removed.
* media/modern-media-controls/icon-button/icon-button-focus-state.html: Removed.
* media/modern-media-controls/icon-button/icon-button-on-expected.txt: Removed.
* media/modern-media-controls/icon-button/icon-button.html: Removed.
* platform/ios-simulator/TestExpectations:
* platform/mac/TestExpectations:

Modified Paths

Added Paths

Removed Paths

  • trunk/LayoutTests/media/modern-media-controls/icon-button/

Diff

Modified: trunk/LayoutTests/ChangeLog (217889 => 217890)


--- trunk/LayoutTests/ChangeLog	2017-06-07 17:13:34 UTC (rev 217889)
+++ trunk/LayoutTests/ChangeLog	2017-06-07 17:36:51 UTC (rev 217890)
@@ -1,3 +1,34 @@
+2017-06-07  Antoine Quint  <[email protected]>
+
+        Rebaseline and enable media/modern-media-controls/button
+        https://bugs.webkit.org/show_bug.cgi?id=173058
+        <rdar://problem/32615846>
+
+        Reviewed by Eric Carlson.
+
+        The IconButton class was removed and merged into its superclass Button, so we merge those tests
+        in a single directory. A couple tests no longer applied as we do not have a focused state for
+        buttons anymore, nor do we deal with changes in layout traits since there is no such thing as
+        a compact mode anymore.
+
+        * media/modern-media-controls/button/button-active-state-expected.txt: Added.
+        * media/modern-media-controls/button/button-active-state.html: Renamed from LayoutTests/media/modern-media-controls/icon-button/icon-button-active-state.html.
+        * media/modern-media-controls/button/button-icon-name-expected.txt: Added.
+        * media/modern-media-controls/button/button-icon-name.html: Added.
+        * media/modern-media-controls/button/button-on-expected.txt: Added.
+        * media/modern-media-controls/button/button-on.html: Renamed from LayoutTests/media/modern-media-controls/icon-button/icon-button-on.html.
+        * media/modern-media-controls/button/button.html:
+        * media/modern-media-controls/icon-button/icon-button-active-state-expected.txt: Removed.
+        * media/modern-media-controls/icon-button/icon-button-change-layout-traits-expected.txt: Removed.
+        * media/modern-media-controls/icon-button/icon-button-change-layout-traits.html: Removed.
+        * media/modern-media-controls/icon-button/icon-button-expected.txt: Removed.
+        * media/modern-media-controls/icon-button/icon-button-focus-state-expected.txt: Removed.
+        * media/modern-media-controls/icon-button/icon-button-focus-state.html: Removed.
+        * media/modern-media-controls/icon-button/icon-button-on-expected.txt: Removed.
+        * media/modern-media-controls/icon-button/icon-button.html: Removed.
+        * platform/ios-simulator/TestExpectations:
+        * platform/mac/TestExpectations:
+
 2017-06-07  Ryan Haddad  <[email protected]>
 
         Remove TestExpectation for fast/backgrounds/background-repeat-x-y-parse.html.

Added: trunk/LayoutTests/media/modern-media-controls/button/button-active-state-expected.txt (0 => 217890)


--- trunk/LayoutTests/media/modern-media-controls/button/button-active-state-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/media/modern-media-controls/button/button-active-state-expected.txt	2017-06-07 17:36:51 UTC (rev 217890)
@@ -0,0 +1,11 @@
+Testing an Button has a scale transform when pressed.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS window.getComputedStyle(button.image.element).transform is "matrix(0.89, 0, 0, 0.89, 0, 0)"
+PASS successfullyParsed is true
+
+TEST COMPLETE
+
+

Copied: trunk/LayoutTests/media/modern-media-controls/button/button-active-state.html (from rev 217889, trunk/LayoutTests/media/modern-media-controls/icon-button/icon-button-active-state.html) (0 => 217890)


--- trunk/LayoutTests/media/modern-media-controls/button/button-active-state.html	                        (rev 0)
+++ trunk/LayoutTests/media/modern-media-controls/button/button-active-state.html	2017-06-07 17:36:51 UTC (rev 217890)
@@ -0,0 +1,55 @@
+<script src=""
+<script src="" type="text/_javascript_"></script>
+<body>
+<script type="text/_javascript_">
+
+description("Testing an <code>Button</code> has a scale transform when pressed.");
+
+window.jsTestIsAsync = true;
+
+const button = new Button({ layoutDelegate: { layoutTraits: LayoutTraits.macOS } });
+button.iconName = Icons.Pause;
+document.body.appendChild(button.element);
+
+let x, y;
+
+button.image.element.addEventListener("transitionend", event => {
+    shouldBeEqualToString("window.getComputedStyle(button.image.element).transform", "matrix(0.89, 0, 0, 0.89, 0, 0)");
+    if ("createTouch" in document) {
+        testRunner.runUIScript(`
+            uiController.liftUpAtPoint(${x}, ${y}, 1, function() {
+                uiController.uiScriptComplete("Done");
+            })`, finishJSTest);
+    } else {
+        eventSender.mouseUp();
+        finishJSTest();
+    }
+});
+
+scheduler.frameDidFire = function()
+{
+    const bounds = button.element.getBoundingClientRect();
+    if (bounds.height === 0)
+        return;
+
+    scheduler.frameDidFire = null;
+
+    if ("testRunner" in window) {
+        x = bounds.left + 1;
+        y = bounds.top + 1;
+        if ("createTouch" in document) {
+            testRunner.runUIScript(`
+                uiController.touchDownAtPoint(${x}, ${y}, 1, function() {
+                    uiController.uiScriptComplete("Done");
+                })`);
+        } else {
+            eventSender.mouseMoveTo(x, y);
+            eventSender.mouseDown();
+        }
+    } else
+        debug("This test is designed to run in DRT.");
+}
+
+</script>
+<script src=""
+</body>

Added: trunk/LayoutTests/media/modern-media-controls/button/button-icon-name-expected.txt (0 => 217890)


--- trunk/LayoutTests/media/modern-media-controls/button/button-icon-name-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/media/modern-media-controls/button/button-icon-name-expected.txt	2017-06-07 17:36:51 UTC (rev 217890)
@@ -0,0 +1,32 @@
+Testing the Button class iconName property.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+
+There should be no iconName by default
+PASS button.iconName is ""
+
+Setting an iconName with invalid layout traits should throw
+PASS function () { button.iconName = Icons.Pause } threw exception Could not identify icon's platform from layout traits..
+PASS button.iconName is ""
+
+Setting macOS inline layout traits and setting play icon
+PASS button.image.element.style.webkitMaskImage.includes("macOS/Pause.svg") is true
+PASS button.element.style.width is "11px"
+PASS button.element.style.height is "13px"
+PASS button.image.element.style.width is "11px"
+PASS button.image.element.style.height is "13px"
+PASS button.element.getAttribute('aria-label') is "Pause"
+
+Setting start icon
+PASS button.image.element.style.webkitMaskImage.includes("macOS/Rewind.svg") is true
+PASS button.element.style.width is "24px"
+PASS button.element.style.height is "16px"
+PASS button.image.element.style.width is "24px"
+PASS button.image.element.style.height is "16px"
+PASS button.element.getAttribute('aria-label') is "Rewind"
+PASS successfullyParsed is true
+
+TEST COMPLETE
+

Added: trunk/LayoutTests/media/modern-media-controls/button/button-icon-name.html (0 => 217890)


--- trunk/LayoutTests/media/modern-media-controls/button/button-icon-name.html	                        (rev 0)
+++ trunk/LayoutTests/media/modern-media-controls/button/button-icon-name.html	2017-06-07 17:36:51 UTC (rev 217890)
@@ -0,0 +1,59 @@
+<script src=""
+<script src="" type="text/_javascript_"></script>
+<script src="" type="text/_javascript_"></script>
+<body>
+<script type="text/_javascript_">
+
+window.jsTestIsAsync = true;
+
+description("Testing the <code>Button</code> class <code>iconName</code> property.");
+
+const layoutDelegate = {};
+
+const button = new Button({ layoutDelegate });
+
+debug("");
+debug("There should be no iconName by default");
+shouldBeEqualToString("button.iconName", "");
+
+debug("");
+debug("Setting an iconName with invalid layout traits should throw");
+shouldThrow(function() { button.iconName = Icons.Pause });
+shouldBeEqualToString("button.iconName", "");
+
+debug("");
+debug("Setting macOS inline layout traits and setting play icon");
+layoutDelegate.layoutTraits = LayoutTraits.macOS;
+button.iconName = Icons.Pause;
+
+let numberOfFrames = 0;
+
+scheduler.frameDidFire = function()
+{
+    numberOfFrames++;
+
+    if (numberOfFrames === 1) {
+        shouldBeTrue('button.image.element.style.webkitMaskImage.includes("macOS/Pause.svg")');
+        shouldBeEqualToString("button.element.style.width", "11px");
+        shouldBeEqualToString("button.element.style.height", "13px");
+        shouldBeEqualToString("button.image.element.style.width", "11px");
+        shouldBeEqualToString("button.image.element.style.height", "13px");
+        shouldBeEqualToString("button.element.getAttribute('aria-label')", `${Icons.Pause.label}`);
+        debug("");
+        debug("Setting start icon");
+        button.iconName = Icons.Rewind;
+    } else if (numberOfFrames === 2) {
+        shouldBeTrue('button.image.element.style.webkitMaskImage.includes("macOS/Rewind.svg")');
+        shouldBeEqualToString("button.element.style.width", "24px");
+        shouldBeEqualToString("button.element.style.height", "16px");
+        shouldBeEqualToString("button.image.element.style.width", "24px");
+        shouldBeEqualToString("button.image.element.style.height", "16px");
+        shouldBeEqualToString("button.element.getAttribute('aria-label')", `${Icons.Rewind.label}`);
+
+        finishMediaControlsTest();
+    } 
+};
+
+</script>
+<script src=""
+</body>

Added: trunk/LayoutTests/media/modern-media-controls/button/button-on-expected.txt (0 => 217890)


--- trunk/LayoutTests/media/modern-media-controls/button/button-on-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/media/modern-media-controls/button/button-on-expected.txt	2017-06-07 17:36:51 UTC (rev 217890)
@@ -0,0 +1,11 @@
+Testing an Button has a white background-color when set to `on`.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS window.getComputedStyle(button.image.element).backgroundColor is "rgb(255, 255, 255)"
+
+PASS successfullyParsed is true
+
+TEST COMPLETE
+

Copied: trunk/LayoutTests/media/modern-media-controls/button/button-on.html (from rev 217889, trunk/LayoutTests/media/modern-media-controls/icon-button/icon-button-on.html) (0 => 217890)


--- trunk/LayoutTests/media/modern-media-controls/button/button-on.html	                        (rev 0)
+++ trunk/LayoutTests/media/modern-media-controls/button/button-on.html	2017-06-07 17:36:51 UTC (rev 217890)
@@ -0,0 +1,27 @@
+<script src=""
+<script src="" type="text/_javascript_"></script>
+<script src="" type="text/_javascript_"></script>
+<body>
+<script type="text/_javascript_">
+
+description("Testing an <code>Button</code> has a white background-color when set to `on`.");
+
+window.jsTestIsAsync = true;
+
+const button = new Button({ layoutDelegate: { layoutTraits: LayoutTraits.macOS } });
+button.iconName = Icons.Pause;
+button.on = true;
+document.body.appendChild(button.element);
+
+scheduler.frameDidFire = function()
+{
+    shouldBeEqualToString("window.getComputedStyle(button.image.element).backgroundColor", "rgb(255, 255, 255)");
+
+    button.element.remove();
+    debug("");
+    finishMediaControlsTest();
+}
+
+</script>
+<script src=""
+</body>

Modified: trunk/LayoutTests/media/modern-media-controls/button/button.html (217889 => 217890)


--- trunk/LayoutTests/media/modern-media-controls/button/button.html	2017-06-07 17:13:34 UTC (rev 217889)
+++ trunk/LayoutTests/media/modern-media-controls/button/button.html	2017-06-07 17:36:51 UTC (rev 217890)
@@ -51,6 +51,7 @@
         shouldBeEqualToString("style.borderWidth", "0px");
         shouldBeEqualToString("style.webkitAppearance", "none");
 
+        button.element.remove();
         finishJSTest();
     });
 });

Modified: trunk/LayoutTests/platform/ios-simulator/TestExpectations (217889 => 217890)


--- trunk/LayoutTests/platform/ios-simulator/TestExpectations	2017-06-07 17:13:34 UTC (rev 217889)
+++ trunk/LayoutTests/platform/ios-simulator/TestExpectations	2017-06-07 17:36:51 UTC (rev 217890)
@@ -59,11 +59,16 @@
 media/modern-media-controls/airplay-placard [ Pass ]
 media/modern-media-controls/audio [ Pass ]
 media/modern-media-controls/background-tint [ Pass ]
+media/modern-media-controls/button [ Pass ]
 
 # AirPlay cannot be tested on iOS
 webkit.org/b/166062 media/modern-media-controls/airplay-support [ Skip ]
 webkit.org/b/166062 media/modern-media-controls/audio/audio-controls-buttons.html [ Skip ]
 
+# These tests use touch events and don't work in OpenSource
+media/modern-media-controls/button/button.html [ Skip ]
+media/modern-media-controls/button/button-active-state.html [ Skip ]
+
 webkit.org/b/172965 media/track/track-cue-overlap-snap-to-lines-not-set.html [ Failure ]
 
 webkit.org/b/156718 storage/websql/alter-to-info-table.html [ Failure ]

Modified: trunk/LayoutTests/platform/mac/TestExpectations (217889 => 217890)


--- trunk/LayoutTests/platform/mac/TestExpectations	2017-06-07 17:13:34 UTC (rev 217889)
+++ trunk/LayoutTests/platform/mac/TestExpectations	2017-06-07 17:36:51 UTC (rev 217890)
@@ -1554,6 +1554,7 @@
 media/modern-media-controls/airplay-support [ Pass ]
 media/modern-media-controls/audio [ Pass ]
 media/modern-media-controls/background-tint [ Pass ]
+media/modern-media-controls/button [ Pass ]
 media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-drag-is-prevented-over-button.html [ Pass ]
 media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-drag.html [ Pass ]
 media/modern-media-controls/volume-up-support [ Pass ]
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to