File: border-writing-mode-dynamic-001.html

package info (click to toggle)
thunderbird 1%3A140.3.1esr-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 4,608,628 kB
  • sloc: cpp: 7,671,698; javascript: 5,901,131; ansic: 3,898,955; python: 1,413,270; xml: 653,997; asm: 462,284; java: 180,948; sh: 113,489; makefile: 20,460; perl: 14,288; objc: 13,059; yacc: 4,583; pascal: 3,352; lex: 1,720; ruby: 1,222; exp: 762; sql: 715; awk: 580; php: 436; lisp: 430; sed: 70; csh: 10
file content (72 lines) | stat: -rw-r--r-- 1,563 bytes parent folder | download | duplicates (18)
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
<!DOCTYPE html>
<meta charset="UTF-8">
<title>Collapsed borders track writing mode changes</title>
<link rel="help" href="https://drafts.csswg.org/css-tables/#border-collapsing">
<script src='/resources/testharness.js'></script>
<script src='/resources/testharnessreport.js'></script>
<script src="/common/rendering-utils.js"></script>
<style>
  .bordermix {
    border-top: 10px solid red;
    border-bottom: 20px solid green;
    border-left: 30px solid yellow;
    border-right: 40px solid orange;
  }

  .vertical {
    writing-mode: vertical-rl;
  }

  main td {
    width:100px;
    height:100px;
  }
  main table {
    border-collapse: collapse;
  }
</style>

<main>

<table class="bordermix targettable">
  <td>TABLE</td>
</table>

<table class="targettable">
  <tbody class="bordermix">
    <td>TBODY</td>
  </tbody>
</table>

<table class="targettable">
  <tr class="bordermix">
    <td>TR</td>
  </tr>
</table>

<table class="targettable">
  <td class="bordermix">TD</td>
</table>

</main>
<script>
  var test = async_test("Table borders track writing mode changes");
  let targets = Array.from(document.querySelectorAll(".targettable"));

  function assertTargetSize() {
    for (let target of targets) {
      assert_equals(target.offsetWidth, 172);
      assert_equals(target.offsetHeight, 132);
    }
  }
  test.step(assertTargetSize);

  waitForAtLeastOneFrame().then( _ => {
    for (let target of targets)
      target.classList.toggle("vertical");
    document.body.offsetTop;
    test.step(assertTargetSize);
    test.done();
  });

</script>