Convert svg/css/scientific-numbers.html to a text only test
[WebKit-https.git] / LayoutTests / svg / css / script-tests / scientific-numbers.js
1 description("Test scientific numbers on <length> values for SVG presentation attributes.")
2 if (window.testRunner)
3     testRunner.dumpAsText();
4 createSVGTestCase();
5
6 var text = createSVGElement("text");
7 text.setAttribute("id", "text");
8 text.setAttribute("x", "100px");
9 text.setAttribute("y", "100px");
10 rootSVGElement.appendChild(text);
11
12 function test(valueString, expectedValue) {
13         // Reset baseline-shift to baseline.
14         text.setAttribute("baseline-shift", "baseline");
15         shouldBeEqualToString("getComputedStyle(text).baselineShift", "baseline");
16
17         // Run test
18         text.setAttribute("baseline-shift", valueString);
19         shouldBeEqualToString("getComputedStyle(text).baselineShift", expectedValue);
20 }
21
22 debug("");
23 debug("Test positive exponent values with 'e'");
24 test(".5e2", "50px");
25 test("5e1", "50px");
26 test("0.5e2", "50px");
27 test("+.5e2", "50px");
28 test("+5e1", "50px");
29 test("+0.5e2", "50px");
30 test(".5e+2", "50px");
31 test("5e+1", "50px");
32 test("0.5e+2", "50px");
33
34 debug("");
35 debug("Test positive exponent values with 'E'");
36 test(".5E2", "50px");
37 test("5E1", "50px");
38 test("0.5E2", "50px");
39 test("+.5E2", "50px");
40 test("+5E1", "50px");
41 test("+0.5E2", "50px");
42 test(".5E+2", "50px");
43 test("5E+1", "50px");
44 test("0.5E+2", "50px");
45
46 debug("");
47 debug("Test negative exponent values with 'e'");
48 test("5000e-2", "50px");
49 test("500e-1", "50px");
50 test("+5000e-2", "50px");
51 test("+500e-1", "50px");
52 test("+5000e-2px", "50px");
53 test("+500e-1px", "50px");
54
55 debug("");
56 debug("Test negative exponent values with 'E'");
57 test("5000E-2", "50px");
58 test("500E-1", "50px");
59 test("+5000E-2", "50px");
60 test("+500E-1", "50px");
61 test("+5000.00E-2px", "50px");
62 test("+500E-1px", "50px");
63
64 debug("");
65 debug("Test negative numbers with exponents");
66 test("-.5e2px", "-50px");
67 test("-0.5e2px", "-50px");
68 test("-500e-1px", "-50px");
69
70 debug("");
71 debug("Test if value and 'em' still works");
72 test("50em", "50em");
73
74 debug("");
75 debug("Test if value and 'ex' still works");
76 test("50ex", "50ex");
77
78 debug("");
79 debug("Trailing and leading whitespaces");
80 test("       5e1", "50px");
81 test("5e1      ", "50px");
82
83 debug("");
84 debug("Test behavior on overflow");
85 test("2E+500", "baseline");
86 test("-2E+500", "baseline");
87
88 debug("");
89 debug("Invalid values");
90 test("50e0.0", "baseline");
91 test("50 e0", "baseline");
92 test("50e 0", "baseline");
93 test("50.e0", "baseline");
94
95 var successfullyParsed = true;
96
97 completeTest();