[GTK][WPE] Stop using the session bus in the unit tests
[WebKit-https.git] / LayoutTests / imported / w3c / web-platform-tests / mathml / relations / css-styling / lengths-3.html
1 <!DOCTYPE html>
2 <html>
3 <head>
4 <meta charset="utf-8">
5 <title>MathML lengths</title>
6 <link rel="help" href="https://mathml-refresh.github.io/mathml-core/#cssstyling"/>
7 <meta name="assert" content="Verify various cases of the MathML length syntax.">
8 <script src="/resources/testharness.js"></script>
9 <script src="/resources/testharnessreport.js"></script>
10 <style>
11   @font-face {
12     font-family: TestFont;
13     src: url("/fonts/math/xheight500.woff");
14   }
15   math {
16     font-family: TestFont;
17     font-size: 10px;
18   }
19 </style>
20 <script>
21   var epsilon = .5;
22
23   function getBox(aId) {
24     return document.getElementById(aId).getBoundingClientRect();
25   }
26
27   setup({ explicit_done: true });
28   window.addEventListener("load", function() {
29     // Delay the check to workaround WebKit's bug https://webkit.org/b/174030.
30     requestAnimationFrame(() => { document.fonts.ready.then(runTests); });
31   });
32
33   function runTests() {
34     test(function() {
35       assert_equals(getBox("unitCm").width, 96, "cm");
36       assert_equals(getBox("unitEm").width, 120, "em");
37       assert_equals(getBox("unitEx").width, 500, "ex");
38       assert_equals(getBox("unitIn").width, 288, "in");
39       assert_equals(getBox("unitNamed").width, 700, "namedspace");
40       assert_equals(getBox("unitMm").width, 576, "mm");
41       assert_equals(getBox("unitPc").width, 96, "pc");
42       assert_equals(getBox("unitPercentage").width, 60, "%");
43       assert_equals(getBox("unitPt").width, 96, "pt");
44       assert_equals(getBox("unitPx").width, 123, "px");
45       assert_equals(getBox("unitNone").width, 150, "Unitless");
46     }, "Units");
47
48     test(function() {
49       assert_equals(getBox("spaceCm").width, 96, "cm");
50       assert_equals(getBox("spaceEm").width, 120, "em");
51       assert_equals(getBox("spaceEx").width, 500, "ex");
52       assert_equals(getBox("spaceIn").width, 288, "in");
53       assert_equals(getBox("spaceNamed").width, 700, "namedspace");
54       assert_equals(getBox("spaceMm").width, 576, "mm");
55       assert_equals(getBox("spacePc").width, 96, "pc");
56       assert_equals(getBox("spacePercentage").width, 60, "%");
57       assert_equals(getBox("spacePt").width, 96, "pt");
58       assert_equals(getBox("spacePx").width, 123, "px");
59       assert_equals(getBox("spaceNone").width, 150, "Unitless");
60     }, "Trimming of space");
61
62     test(function() {
63       assert_approx_equals(getBox("n0").width, 0, epsilon, "n0");
64       assert_approx_equals(getBox("n1").width, 90, epsilon, "n1");
65       assert_approx_equals(getBox("n2").width, 8, epsilon, "n2");
66       assert_approx_equals(getBox("n3").width, 70, epsilon, "n3");
67       assert_approx_equals(getBox("n4").width, 650, epsilon, "n4");
68       assert_approx_equals(getBox("n5").width, 4320, epsilon, "n5");
69       assert_approx_equals(getBox("n6").width, 1, epsilon, "n6");
70       assert_approx_equals(getBox("n7").width, 8, epsilon, "n7");
71       assert_approx_equals(getBox("n8").width, 65, epsilon, "n8");
72       assert_approx_equals(getBox("n9").width, 432, epsilon, "n9");
73       assert_approx_equals(getBox("n10").width, 123, epsilon, "n10");
74     }, "Non-negative numbers");
75
76     test(function() {
77       var topRef = getBox("ref").top;
78       assert_approx_equals(getBox("N0").top - topRef, -0, epsilon, "N0");
79       assert_approx_equals(topRef - getBox("N1").top, -90, epsilon, "N1");
80       assert_approx_equals(topRef - getBox("N2").top, -8, epsilon, "N2");
81       assert_approx_equals(topRef - getBox("N3").top, -70, epsilon, "N3");
82       assert_approx_equals(topRef - getBox("N4").top, -650, epsilon, "N4");
83       assert_approx_equals(topRef - getBox("N5").top, -4320, epsilon, "N5");
84       assert_approx_equals(topRef - getBox("N6").top, -1, epsilon, "N6");
85       assert_approx_equals(topRef - getBox("N7").top, -8, epsilon, "N7");
86       assert_approx_equals(topRef - getBox("N8").top, -65, epsilon, "N8");
87       assert_approx_equals(topRef - getBox("N9").top, -432, epsilon, "N9");
88       assert_approx_equals(topRef - getBox("N10").top, -123, epsilon, "N10");
89     }, "Non-positive numbers");
90
91     done();
92   }
93 </script>
94 </head>
95 <body>
96   <div id="log"></div>
97   <p>
98     <math>
99       <mspace id="unitCm" width="2.54cm"/>
100       <mspace id="unitEm" width="12em"/>
101       <mspace id="unitEx" width="100ex"/>
102       <mspace id="unitIn" width="3in"/>
103       <mspace style="font-size: 1800px" id="unitNamed" width="veryverythickmathspace"/>
104       <mspace id="unitMm" width="152.4mm"/>
105       <mspace id="unitPc" width="6pc"/>
106       <mstyle mathsize="200%"><mspace id="unitPercentage" width="3em"/></mstyle>
107       <mspace id="unitPt" width="72pt"/>
108       <mspace id="unitPx" width="123px"/>
109       <mstyle mathsize="5"><mspace id="unitNone" width="3em"/></mstyle>
110     </math>
111   </p>
112   <p>
113     <math>
114       <mspace id="spaceCm" width="&#x20;&#x9;&#xA;&#xD;&#x20;&#x9;&#xA;&#xD;2.54cm&#x20;&#x9;&#xA;&#xD;&#x20;&#x9;&#xA;&#xD;"/>
115       <mspace id="spaceEm" width="&#x20;&#x9;&#xA;&#xD;&#x20;&#x9;&#xA;&#xD;12em&#x20;&#x9;&#xA;&#xD;&#x20;&#x9;&#xA;&#xD;"/>
116       <mspace id="spaceEx" width="&#x20;&#x9;&#xA;&#xD;&#x20;&#x9;&#xA;&#xD;100ex&#x20;&#x9;&#xA;&#xD;&#x20;&#x9;&#xA;&#xD;"/>
117       <mspace id="spaceIn" width="&#x20;&#x9;&#xA;&#xD;&#x20;&#x9;&#xA;&#xD;3in&#x20;&#x9;&#xA;&#xD;&#x20;&#x9;&#xA;&#xD;"/>
118       <mspace style="font-size: 1800px" id="spaceNamed" width="&#x20;&#x9;&#xA;&#xD;&#x20;&#x9;&#xA;&#xD;veryverythickmathspace&#x20;&#x9;&#xA;&#xD;&#x20;&#x9;&#xA;&#xD;"/>
119       <mspace id="spaceMm" width="&#x20;&#x9;&#xA;&#xD;&#x20;&#x9;&#xA;&#xD;152.4mm&#x20;&#x9;&#xA;&#xD;&#x20;&#x9;&#xA;&#xD;"/>
120       <mspace id="spacePc" width="&#x20;&#x9;&#xA;&#xD;&#x20;&#x9;&#xA;&#xD;6pc&#x20;&#x9;&#xA;&#xD;&#x20;&#x9;&#xA;&#xD;"/>
121       <mstyle mathsize="200%"><mspace id="spacePercentage" width="&#x20;&#x9;&#xA;&#xD;&#x20;&#x9;&#xA;&#xD;3em&#x20;&#x9;&#xA;&#xD;&#x20;&#x9;&#xA;&#xD;"/></mstyle>
122       <mspace id="spacePt" width="&#x20;&#x9;&#xA;&#xD;&#x20;&#x9;&#xA;&#xD;72pt&#x20;&#x9;&#xA;&#xD;&#x20;&#x9;&#xA;&#xD;"/>
123       <mspace id="spacePx" width="&#x20;&#x9;&#xA;&#xD;&#x20;&#x9;&#xA;&#xD;123px&#x20;&#x9;&#xA;&#xD;&#x20;&#x9;&#xA;&#xD;"/>
124       <mstyle mathsize="5"><mspace id="spaceNone" width="&#x20;&#x9;&#xA;&#xD;&#x20;&#x9;&#xA;&#xD;3em&#x20;&#x9;&#xA;&#xD;&#x20;&#x9;&#xA;&#xD;"/></mstyle>
125     </math>
126   </p>
127   <p>
128     <math>
129       <mspace id="n0" width="0em"/>
130       <mspace id="n1" width="9em"/>
131       <mspace id="n2" width=".8em"/>
132       <mspace id="n3" width="7.em"/>
133       <mspace id="n4" width="65em"/>
134       <mspace id="n5" width="432em"/>
135       <mspace id="n6" width=".10em"/>
136       <mspace id="n7" width=".789em"/>
137       <mspace id="n8" width="6.5em"/>
138       <mspace id="n9" width="43.21em"/>
139       <mspace id="n10" width="012.345em"/>
140     </math>
141   </p>
142   <p>
143     <math>
144       <mspace id="ref"></mspace>
145       <mpadded voffset="-0em"><mspace id="N0"/></mpadded>
146       <mpadded voffset="-9em"><mspace id="N1"/></mpadded>
147       <mpadded voffset="-.8em"><mspace id="N2"/></mpadded>
148       <mpadded voffset="-7.em"><mspace id="N3"/></mpadded>
149       <mpadded voffset="-65em"><mspace id="N4"/></mpadded>
150       <mpadded voffset="-432em"><mspace id="N5"/></mpadded>
151       <mpadded voffset="-.10em"><mspace id="N6"/></mpadded>
152       <mpadded voffset="-.789em"><mspace id="N7"/></mpadded>
153       <mpadded voffset="-6.5em"><mspace id="N8"/></mpadded>
154       <mpadded voffset="-43.21em"><mspace id="N9"/></mpadded>
155       <mpadded voffset="-012.345em"><mspace id="N10"/></mpadded>
156     </math>
157   </p>
158 </body>
159 </html>