summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/mathml/relations/css-styling/width-height-004.html
blob: 7133573b04d82664d7c0885c0bca9bc7c745d50f (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
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>content position with width/height</title>
<link rel="match" href="width-height-003-ref.html">
<link rel="help" href="https://w3c.github.io/mathml-core/#layout-algorithms">
<link rel="help" href="https://w3c.github.io/mathml-core/#underscripts-and-overscripts-munder-mover-munderover">
<meta name="assert" content="Verify the inline-start of the children of the munder, mover, munderover and mfrac layout algorithms."/>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<link rel="stylesheet" type="text/css" href="/fonts/ahem.css" />
<script src="/mathml/support/fonts.js"></script>
<style>
  .test, math {
      font: 25px/1 Ahem;
      color: black;
  }
  .test {
      margin: .5em;
  }
  [data-name] {
      width: 7em;
      height: 3em;
      border: 1px solid blue;
  }
</style>
<script>
  var epsilon = 1;

  function getMiddle(aElement) {
    let box = aElement.getBoundingClientRect();
    return (box.left + box.right) / 2;
  }

  setup({ explicit_done: true });
  window.addEventListener("load", () => { loadAllFonts().then(runTests); });

  function runTests() {
    Array.from(document.querySelectorAll("[data-name]")).forEach(element => {
        test(() => {
          let elementMiddle = getMiddle(element);
          Array.from(element.children).forEach(child => {
            assert_approx_equals(getMiddle(child), elementMiddle, epsilon);
          });
      }, element.dataset.name);
    });
    done();
  }
</script>
</head>
<body>
  <div id="log"></div>

  <div class="test">
    <math>
      <mfrac data-name="mfrac">
        <mtext>X</mtext>
        <mtext>X</mtext>
      </mfrac>
    </math>
    <math dir="rtl">
      <mfrac data-name="RTL mfrac">
        <mtext>X</mtext>
        <mtext>X</mtext>
      </mfrac>
    </math>
  </div>

  <div class="test">
    <math>
      <mfrac linethickness="0" data-name="mfrac without bar">
        <mtext>X</mtext>
        <mtext>X</mtext>
      </mfrac>
    </math>
    <math dir="rtl">
      <mfrac linethickness="0" data-name="RTL mfrac without bar">
        <mtext>X</mtext>
        <mtext>X</mtext>
      </mfrac>
    </math>
  </div>

  <div class="test">
    <math>
      <munder data-name="munder">
        <mtext>X</mtext>
        <mtext>X</mtext>
      </munder>
    </math>
    <math dir="rtl">
      <munder data-name="RTL munder">
        <mtext>X</mtext>
        <mtext>X</mtext>
      </munder>
    </math>
  </div>

  <div class="test">
    <math>
      <mover data-name="mover">
        <mtext>X</mtext>
        <mtext>X</mtext>
      </mover>
    </math>
    <math dir="rtl">
      <mover data-name="RTL mover">
        <mtext>X</mtext>
        <mtext>X</mtext>
      </mover>
    </math>
  </div>

  <div class="test">
    <math>
      <munderover data-name="munderover">
        <mtext>X</mtext>
        <mtext>X</mtext>
        <mtext>X</mtext>
      </munderover>
    </math>
    <math dir="rtl">
      <munderover data-name="RTL munderover">
        <mtext>X</mtext>
        <mtext>X</mtext>
        <mtext>X</mtext>
      </munderover>
    </math>
  </div>

</body>
</htmL>