diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-19 00:47:55 +0000 |
commit | 26a029d407be480d791972afb5975cf62c9360a6 (patch) | |
tree | f435a8308119effd964b339f76abb83a57c29483 /testing/web-platform/tests/css/css-transitions/starting-style-rule-basic.html | |
parent | Initial commit. (diff) | |
download | firefox-26a029d407be480d791972afb5975cf62c9360a6.tar.xz firefox-26a029d407be480d791972afb5975cf62c9360a6.zip |
Adding upstream version 124.0.1.upstream/124.0.1
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'testing/web-platform/tests/css/css-transitions/starting-style-rule-basic.html')
-rw-r--r-- | testing/web-platform/tests/css/css-transitions/starting-style-rule-basic.html | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/testing/web-platform/tests/css/css-transitions/starting-style-rule-basic.html b/testing/web-platform/tests/css/css-transitions/starting-style-rule-basic.html new file mode 100644 index 0000000000..7ed5880146 --- /dev/null +++ b/testing/web-platform/tests/css/css-transitions/starting-style-rule-basic.html @@ -0,0 +1,58 @@ +<!DOCTYPE html> +<title>CSS Transitions Test: Basic tests for @starting-style</title> +<link rel="help" href="https://drafts.csswg.org/css-transitions-2/#defining-before-change-style-the-starting-style-rule"> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> +<script src="/css/css-transitions/support/helper.js"></script> +<div id="target" class="trans"></div> +<style> + #target { + transition-property: background-color, color; + transition-duration: 100s; + transition-timing-function: steps(2, start); + color: green; + background-color: white; + } + @starting-style { + #target { + background-color: black; + } + } + #target.red { + background-color: red; + } +</style> +<script> + promise_test(async t => { + await waitForAnimationFrames(2); + assert_equals(getComputedStyle(target).color, "rgb(0, 128, 0)", + "No transition of color"); + assert_equals(getComputedStyle(target).backgroundColor, "rgb(128, 128, 128)", + "Background transition from @starting-style value black to white"); + }, "Triggered transition from first style update"); + + promise_test(async t => { + target.style.display = "none"; + target.className = "red"; + assert_equals(getComputedStyle(target).backgroundColor, "rgb(255, 0, 0)", + "Overridden with red. No transition while display:none"); + target.className = ""; + assert_equals(getComputedStyle(target).backgroundColor, "rgb(255, 255, 255)", + "Removing class while display:none. Still no transition"); + await waitForAnimationFrames(2); + target.style.display = "block"; + await waitForAnimationFrames(2); + assert_equals(getComputedStyle(target).backgroundColor, "rgb(128, 128, 128)", + "Background transition from @starting-style value black to white"); + }, "Triggered transition from display:none to display:block"); + + promise_test(async t => { + let removed = target; + removed.remove(); + await waitForAnimationFrames(2); + document.body.appendChild(removed); + await waitForAnimationFrames(2); + assert_equals(getComputedStyle(target).backgroundColor, "rgb(128, 128, 128)", + "Background transition from @starting-style value black to white"); + }, "Triggered transition on DOM insertion"); +</script> |