summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/css/css-tables/border-writing-mode-dynamic-001.html
blob: c1b232541d971f9cecdee09f77fd9073026614f0 (plain)
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>