JS Test Harness: Remove more link tags
[WebKit-https.git] / LayoutTests / css3 / font-feature-settings-parsing.html
1 <html>
2 <head>
3 <script src="../fast/js/resources/js-test-pre.js"></script>
4 <style>
5 #valid_normal {
6     -webkit-font-feature-settings: normal;
7 }
8
9 #valid_value_1 {
10     -webkit-font-feature-settings: "dlig" 1;
11 }
12
13 #valid_value_2 {
14     -webkit-font-feature-settings: "swsh" 2;
15 }
16
17 #valid_value_on {
18     -webkit-font-feature-settings: "smcp" on;
19 }
20
21 #valid_value_off {
22     -webkit-font-feature-settings: "liga" off;
23 }
24
25 #valid_value_omit {
26     -webkit-font-feature-settings: "c2sc";
27 }
28
29 #valid_valuelist {
30     -webkit-font-feature-settings: "tnum", 'hist';
31 }
32
33 #valid_singlequote {
34     -webkit-font-feature-settings: 'PKRN';
35 }
36
37 #valid_ident {
38     -webkit-font-feature-settings: dlig;
39 }
40
41 #valid_unusual_tag {
42     -webkit-font-feature-settings: "!@#$";
43 }
44
45 #valid_cases {
46     -webkit-font-feature-settings: dlig, DLIG, DLig;
47 }
48
49 #valid_tag_space {
50     -webkit-font-feature-settings: "a bc";
51 }
52
53 #valid_composite {
54     -webkit-font-feature-settings: "dlig" 1, 'smcp' on, liga off;
55 }
56
57 #invalid_1 {
58     -webkit-font-feature-settings: 1;
59 }
60
61 #invalid_off {
62     -webkit-font-feature-settings: off;
63 }
64
65 #invalid_normal_duplicate {
66     -webkit-font-feature-settings: normal, normal;
67 }
68
69 #invalid_normal_list {
70     -webkit-font-feature-settings: normal, aaaa;
71 }
72
73 #invalid_longer_ident {
74     -webkit-font-feature-settings: aaaaa;
75 }
76
77 #invalid_longer_quote {
78     -webkit-font-feature-settings: "aaaaa";
79 }
80
81 #invalid_negative {
82     -webkit-font-feature-settings: aaaa -1;
83 }
84
85 #invalid_float {
86     -webkit-font-feature-settings: aaaa 1.5;
87 }
88
89 #invalid_missing_comma {
90     -webkit-font-feature-settings: aaaa "bbbb";
91 }
92
93 #invalid_missing_comma_ident {
94     -webkit-font-feature-settings: aaaa bbbb;
95 }
96
97 #invalid_comma {
98     -webkit-font-feature-settings: ,;
99 }
100
101 #invalid_ending_comma {
102     -webkit-font-feature-settings: aaaa,;
103 }
104
105 #invalid_beginning_comma {
106     -webkit-font-feature-settings: ,aaaa;
107 }
108
109 #invalid_on {
110     -webkit-font-feature-settings: aaaa, on;
111 }
112
113 #invalid_0 {
114     -webkit-font-feature-settings: "aaaa" 1, "bbbb", 0;
115 }
116
117 #invalid_composite {
118     -webkit-font-feature-settings: aaaaa on, dlig on, PKRN -1;
119 }
120 </style>
121 <style>
122 @font-face {
123     -webkit-font-feature-settings: 'liga';
124 }
125
126 @font-face {
127     -webkit-font-feature-settings: aaaaa;
128 }
129 </style>
130 </head>
131 <body>
132 <div id="valid_normal"></div>
133 <div id="valid_value_1"></div>
134 <div id="valid_value_2"></div>
135 <div id="valid_value_on"></div>
136 <div id="valid_value_off"></div>
137 <div id="valid_value_omit"></div>
138 <div id="valid_valuelist"></div>
139 <div id="valid_singlequote"></div>
140 <div id="valid_ident"></div>
141 <div id="valid_unusual_tag"></div>
142 <div id="valid_tag_space"></div>
143 <div id="valid_cases"></div>
144 <div id="valid_composite"></div>
145
146 <div id="invalid_1"></div>
147 <div id="invalid_off"></div>
148 <div id="invalid_normal_duplicate"></div>
149 <div id="invalid_normal_list"></div>
150 <div id="invalid_longer_ident"></div>
151 <div id="invalid_longer_quote"></div>
152 <div id="invalid_negative"></div>
153 <div id="invalid_float"></div>
154 <div id="invalid_missing_comma"></div>
155 <div id="invalid_missing_comma_ident"></div>
156 <div id="invalid_comma"></div>
157 <div id="invalid_ending_comma"></div>
158 <div id="invalid_beginning_comma"></div>
159 <div id="invalid_on"></div>
160 <div id="invalid_0"></div>
161
162 <div id="outer" style="-webkit-font-feature-settings: dlig;">
163   <div id="inner"></div>
164 </div>
165
166 <p id="description"></p>
167 <div id="console"></div>
168 <script>
169 description('Test parsing of the CSS3 font-feature-settings property.');
170
171 function parseResultOf(id) {
172     var element = document.getElementById(id);
173     return window.getComputedStyle(element)['-webkit-font-feature-settings'];
174 }
175
176 debug('- Tests valid inputs.');
177 shouldBeEqualToString('parseResultOf("valid_normal")', "normal");
178 shouldBeEqualToString('parseResultOf("valid_value_1")', "'dlig' 1");
179 shouldBeEqualToString('parseResultOf("valid_value_2")', "'swsh' 2");
180 shouldBeEqualToString('parseResultOf("valid_value_on")', "'smcp' 1");
181 shouldBeEqualToString('parseResultOf("valid_value_off")', "'liga' 0");
182 shouldBeEqualToString('parseResultOf("valid_value_omit")', "'c2sc' 1");
183 shouldBeEqualToString('parseResultOf("valid_valuelist")', "'tnum' 1, 'hist' 1");
184 shouldBeEqualToString('parseResultOf("valid_singlequote")', "'PKRN' 1");
185 shouldBeEqualToString('parseResultOf("valid_ident")', "'dlig' 1");
186 shouldBeEqualToString('parseResultOf("valid_unusual_tag")', "'!@#$' 1");
187 shouldBeEqualToString('parseResultOf("valid_tag_space")', "'a bc' 1");
188 shouldBeEqualToString('parseResultOf("valid_cases")', "'dlig' 1, 'DLIG' 1, 'DLig' 1");
189 shouldBeEqualToString('parseResultOf("valid_composite")', "'dlig' 1, 'smcp' 1, 'liga' 0");
190
191 debug('- Tests invalid inputs.  Results should be "normal".');
192 shouldBe('parseResultOf("invalid_1")', '"normal"');
193 shouldBe('parseResultOf("invalid_off")', '"normal"');
194 shouldBe('parseResultOf("invalid_normal_duplicate")', '"normal"');
195 shouldBe('parseResultOf("invalid_normal_list")', '"normal"');
196 shouldBe('parseResultOf("invalid_longer_ident")', '"normal"');
197 shouldBe('parseResultOf("invalid_longer_quote")', '"normal"');
198 shouldBe('parseResultOf("invalid_negative")', '"normal"');
199 shouldBe('parseResultOf("invalid_float")', '"normal"');
200 shouldBe('parseResultOf("invalid_missing_comma")', '"normal"');
201 shouldBe('parseResultOf("invalid_missing_comma_ident")', '"normal"');
202 shouldBe('parseResultOf("invalid_comma")', '"normal"');
203 shouldBe('parseResultOf("invalid_ending_comma")', '"normal"');
204 shouldBe('parseResultOf("invalid_beginning_comma")', '"normal"');
205 shouldBe('parseResultOf("invalid_on")', '"normal"');
206 shouldBe('parseResultOf("invalid_0")', '"normal"');
207
208 debug('- Tests inherit.');
209 shouldBeEqualToString('parseResultOf("outer")', "'dlig' 1");
210 shouldBeEqualToString('parseResultOf("inner")', "'dlig' 1");
211
212 debug('- Tests @font-face.');
213 var fontFaceRuleValid = document.styleSheets[1].cssRules[0].style['-webkit-font-feature-settings'];
214 var fontFaceRuleInvalid = document.styleSheets[1].cssRules[1].style['-webkit-font-feature-settings'];
215 shouldBeEqualToString('fontFaceRuleValid', "'liga' 1");
216 shouldBeEqualToString('fontFaceRuleInvalid', "");
217
218 var successfullyParsed = true;
219 </script>
220 <script src="../fast/js/resources/js-test-post.js"></script>
221 </body>
222 </html>