OLD | NEW |
| (Empty) |
1 <html xmlns="http://www.w3.org/1999/xhtml"> | |
2 <head> | |
3 <script src="../../resources/js-test.js"/> | |
4 </head> | |
5 <body> | |
6 <svg display="none" xmlns="http://www.w3.org/2000/svg"><text id="text"/></svg> | |
7 <p id="description"></p> | |
8 <div id="console"/> | |
9 <script> | |
10 var textElement = document.getElementById("text"); | |
11 var computedStyle; | |
12 | |
13 function parseGlyphOrientationHelper(property, angleValue, expectedValue) | |
14 { | |
15 textElement.setAttributeNS(null, property, angleValue); | |
16 computedStyle = textElement.ownerDocument.defaultView.getComputedStyle(textE
lement); | |
17 | |
18 debug("Test angleValue: '" + angleValue + "'"); | |
19 | |
20 if (expectedValue == "auto") { | |
21 shouldBe("computedStyle.getPropertyValue('" + property + "')", '"auto"')
; | |
22 } else { | |
23 shouldBe("parseFloat(computedStyle.getPropertyValue('" + property + "'))
", "" + expectedValue); | |
24 } | |
25 | |
26 debug(""); | |
27 } | |
28 | |
29 function parseGlyphOrientation(angleValue, expectedValue) | |
30 { | |
31 if (expectedValue == undefined) { | |
32 parseGlyphOrientationHelper("glyph-orientation-horizontal", angleValue,
0.0); | |
33 parseGlyphOrientationHelper("glyph-orientation-vertical", angleValue, "a
uto"); | |
34 } else { | |
35 parseGlyphOrientationHelper("glyph-orientation-horizontal", angleValue,
expectedValue); | |
36 parseGlyphOrientationHelper("glyph-orientation-vertical", angleValue, ex
pectedValue); | |
37 } | |
38 } | |
39 | |
40 description('Stress test glyph-orientation SVG CSS properties'); | |
41 debug(''); | |
42 | |
43 debug('Strings that fail to parse, and hence parse as "0" for horziontal and "au
to" as vertical.'); | |
44 debug(''); | |
45 | |
46 parseGlyphOrientation(" 0,1"); | |
47 parseGlyphOrientation(" 0,00000.1"); | |
48 parseGlyphOrientation(" 0 1"); | |
49 parseGlyphOrientation("0.1 0.2"); | |
50 | |
51 parseGlyphOrientation(" 270,1"); | |
52 parseGlyphOrientation(" 270,00000.1"); | |
53 parseGlyphOrientation(" 270 1"); | |
54 parseGlyphOrientation("270.1 0.2"); | |
55 | |
56 | |
57 debug('This tests the rounding of glyph orientation values to the only allowed v
alues 0, 90, 180, 270.'); | |
58 debug(''); | |
59 | |
60 parseGlyphOrientation("-0.0", 0.0); | |
61 parseGlyphOrientation("-10.0", 0.0); | |
62 parseGlyphOrientation("-45.0", 0.0); | |
63 parseGlyphOrientation("0.0", 0.0); | |
64 parseGlyphOrientation("10.0", 0.0); | |
65 parseGlyphOrientation("45.0", 0.0); | |
66 | |
67 parseGlyphOrientation("-90.0", 90.0); | |
68 parseGlyphOrientation("-100.0", 90.0); | |
69 parseGlyphOrientation("-135.0", 90.0); | |
70 parseGlyphOrientation("90.0", 90.0); | |
71 parseGlyphOrientation("100.0", 90.0); | |
72 parseGlyphOrientation("135.0", 90.0); | |
73 | |
74 parseGlyphOrientation("-180.0", 180.0); | |
75 parseGlyphOrientation("-190.0", 180.0); | |
76 parseGlyphOrientation("-225.0", 180.0); | |
77 parseGlyphOrientation("180.0", 180.0); | |
78 parseGlyphOrientation("190.0", 180.0); | |
79 parseGlyphOrientation("225.0", 180.0); | |
80 | |
81 parseGlyphOrientation("-270.0", 270.0); | |
82 parseGlyphOrientation("-280.0", 270.0); | |
83 parseGlyphOrientation("-305.0", 270.0); | |
84 parseGlyphOrientation("270.0", 270.0); | |
85 parseGlyphOrientation("280.0", 270.0); | |
86 parseGlyphOrientation("305.0", 270.0); | |
87 | |
88 debug('Tests angles bigger than 360.'); | |
89 debug(''); | |
90 | |
91 parseGlyphOrientation("449.0", 90.0); | |
92 parseGlyphOrientation("450.0", 90.0); | |
93 parseGlyphOrientation("451.0", 90.0); | |
94 | |
95 parseGlyphOrientation("539.0", 180.0); | |
96 parseGlyphOrientation("540.0", 180.0); | |
97 parseGlyphOrientation("541.0", 180.0); | |
98 | |
99 parseGlyphOrientation("629.0", 270.0); | |
100 parseGlyphOrientation("630.0", 270.0); | |
101 parseGlyphOrientation("631.0", 270.0); | |
102 | |
103 debug('Tests whitespace before/after angle value.'); | |
104 debug(''); | |
105 | |
106 parseGlyphOrientation(" .0 ", 0.0); | |
107 parseGlyphOrientation(" 0 ", 0.0); | |
108 parseGlyphOrientation(" 90.0 ", 90.0); | |
109 parseGlyphOrientation(" 180.0 ", 180.0); | |
110 parseGlyphOrientation(" 270.0 ", 270.0); | |
111 | |
112 debug('Tests rounding of fractional angle values.'); | |
113 debug(''); | |
114 | |
115 parseGlyphOrientation("45.0000", 0.0); | |
116 parseGlyphOrientation("45.0001", 90.0); | |
117 parseGlyphOrientation("135.000", 90.0); | |
118 parseGlyphOrientation("135.001", 180.0); | |
119 | |
120 | |
121 </script> | |
122 | |
123 </body> | |
124 </html> | |
OLD | NEW |