File: auto-name-get-animations.html

package info (click to toggle)
thunderbird 1%3A143.0.1-1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 4,703,968 kB
  • sloc: cpp: 7,770,492; javascript: 5,943,842; ansic: 3,918,754; python: 1,418,263; xml: 653,354; asm: 474,045; java: 183,079; sh: 111,238; makefile: 20,410; perl: 14,359; objc: 13,059; yacc: 4,583; pascal: 3,405; lex: 1,720; ruby: 999; exp: 762; sql: 715; awk: 580; php: 436; lisp: 430; sed: 69; csh: 10
file content (76 lines) | stat: -rw-r--r-- 2,124 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
<!DOCTYPE html>
<html >
<title>View transitions: generated names should be prefixed with -ua- in script</title>
<link rel="help" href="https://drafts.csswg.org/css-view-transitions-2/">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<style>

:root {
  view-transition-name: none;
}

div {
  width: 100px;
  height: 100px;
}

main {
  display: flex;
  flex-direction: column;
}

.item1 {
  view-transition-name: auto;
}

.item2 {
  view-transition-name: match-element;
}

main.switch .item1 {
  order: 2;
}

.item1 {
  background: green;
}

.item2 {
  background: yellow;
  position: relative;
  left: 100px;
}

</style>

<main>
  <div class="item item1"></div>
  <div class="item item2"></div>
</main>

<script>
  promise_test(async t => {
    await new Promise(resolve => requestAnimationFrame(() => resolve()));
    await document.startViewTransition(() => {
      document.querySelector("main").classList.add("switch");
    }).ready;
    const animations = document.documentElement.getAnimations({subtree: true});
    const pseudos = Array.from(new Set(animations.map(a => a.effect.pseudoElement)));
    const item1GeneratedName = pseudos[0].replace("::view-transition-group(", "").slice(0, -1);
    const item2GeneratedName = pseudos[3].replace("::view-transition-group(", "").slice(0, -1);
    assert_true(item1GeneratedName.startsWith("-ua-"), "Item 1 generated name starts with -ua-");
    assert_true(item2GeneratedName.startsWith("-ua-"), "Item 2 generated name starts with -ua-");
    assert_array_equals(pseudos,
      [
        `::view-transition-group(${item1GeneratedName})`,
        `::view-transition-old(${item1GeneratedName})`,
        `::view-transition-new(${item1GeneratedName})`,
        `::view-transition-group(${item2GeneratedName})`,
        `::view-transition-old(${item2GeneratedName})`,
        `::view-transition-new(${item2GeneratedName})`
      ], "Generated names should start with -ua- and pseudo-elements should be in tree order");
  }, "Generated view-transition-names should be prefixed with -ua- in script");
</script>

</body>