diff options
Diffstat (limited to 'testing/web-platform/tests/dom/nodes/moveBefore/tentative/continue-css-transition-transform-pseudo.html')
-rw-r--r-- | testing/web-platform/tests/dom/nodes/moveBefore/tentative/continue-css-transition-transform-pseudo.html | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/testing/web-platform/tests/dom/nodes/moveBefore/tentative/continue-css-transition-transform-pseudo.html b/testing/web-platform/tests/dom/nodes/moveBefore/tentative/continue-css-transition-transform-pseudo.html new file mode 100644 index 0000000000..d02c72561c --- /dev/null +++ b/testing/web-platform/tests/dom/nodes/moveBefore/tentative/continue-css-transition-transform-pseudo.html @@ -0,0 +1,54 @@ +<!DOCTYPE html> +<title>Node.moveBefore should preserve CSS transition state on pseudo-elements (transform)</title> +<script src="/resources/testharness.js"></script> +<script src="/resources/testharnessreport.js"></script> + +<body> + <section id="old-parent"> + <div id="item"></div> + </section> + <section id="new-parent"> + </section> + <style> + #item { + width: 100px; + height: 100px; + background: green; + position: absolute; + left: 0; + } + + #item::before { + content: "Foo"; + width: 100px; + height: 100px; + background: green; + transition: transform 60s steps(1, jump-both); + transform: none; + position: absolute; + } + + #item.big::before { + transform: translateX(400px); + } + + section { + position: relative; + } + + body { + margin-left: 0; + } + </style> + <script> + promise_test(async t => { + const item = document.querySelector("#item"); + assert_equals(item.getBoundingClientRect().x, 0); + item.classList.add("big"); + await new Promise(resolve => item.addEventListener("transitionstart", resolve)); + document.querySelector("#new-parent").moveBefore(item, null); + await new Promise(resolve => requestAnimationFrame(() => resolve())); + assert_not_equals(getComputedStyle(item, "::before").transform, "none"); + }); + </script> +</body> |