Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(168)

Side by Side Diff: third_party/WebKit/LayoutTests/imported/wpt/quirks-mode/unitless-length.html

Issue 1974833002: Import quirks-mode tests (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add separate Release and Debug entries Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « third_party/WebKit/LayoutTests/imported/wpt/quirks-mode/table-cell-width-calculation.html ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 <!doctype html>
2 <html>
3 <head>
4 <title>The unitless length quirk</title>
5 <script src="../../../resources/testharness.js"></script>
6 <script src="../../../resources/testharnessreport.js"></script>
7 <style> iframe { width:20px; height:20px; } </style>
8 </head>
9 <body>
10 <div id=log></div>
11 <iframe id=quirks></iframe>
12 <iframe id=almost></iframe>
13 <iframe id=standards></iframe>
14 <script>
15 setup({explicit_done:true});
16 onload = function() {
17 var html = "<style id=style></style><div id=test></div><div id=ref></div >";
18 var a_doctype = '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transition al//EN" "http://www.w3.org/TR/html4/loose.dtd">';
19 var s_doctype = '<!DOCTYPE HTML>';
20 var q = document.getElementById('quirks').contentWindow;
21 var a = document.getElementById('almost').contentWindow;
22 var s = document.getElementById('standards').contentWindow;
23 q.document.open();
24 q.document.write(html);
25 q.document.close();
26 a.document.open();
27 a.document.write(a_doctype + html);
28 a.document.close();
29 s.document.open();
30 s.document.write(s_doctype + html);
31 s.document.close();
32 [q, a, s].forEach(function(win) {
33 ['style', 'test', 'ref'].forEach(function(id) {
34 win[id] = win.document.getElementById(id);
35 });
36 });
37
38 var tests = [
39 {input:"1", q:"1px"},
40 {input:"+1", q:"1px"},
41 {input:"-1", q:"-1px"},
42 {input:"1.5", q:"1.5px"},
43 {input:"+1.5", q:"1.5px"},
44 {input:"-1.5", q:"-1.5px"},
45 {input:"\\31 "},
46 {input:"+\\31 "},
47 {input:"-\\31 "},
48 {input:"\\31 .5"},
49 {input:"+\\31 .5"},
50 {input:"-\\31 .5"},
51 {input:"1\\31 "},
52 {input:"+1\\31 "},
53 {input:"-1\\31 "},
54 {input:"1\\31 .5"},
55 {input:"+1\\31 .5"},
56 {input:"-1\\31 .5"},
57 {input:"a"},
58 {input:"A"},
59 {input:"1a"},
60 {input:"+1a"},
61 {input:"-1a"},
62 {input:"+1A"},
63 {input:"-1A"},
64 {input:"+a"},
65 {input:"-a"},
66 {input:"+A"},
67 {input:"-A"},
68 {input:"@a"},
69 {input:"@1"},
70 {input:"@1a"},
71 {input:'"a"'},
72 {input:'"1"'},
73 {input:'"1a"'},
74 {input:"url(1)"},
75 {input:"url('1')"},
76 {input:"#1"},
77 {input:"#01"},
78 {input:"#001"},
79 {input:"#0001"},
80 {input:"#00001"},
81 {input:"#000001"},
82 {input:"+/**/1"},
83 {input:"-/**/1"},
84 {input:"calc(1)"},
85 {input:"calc(2 * 2px)", q:"4px", s:"4px"},
86 {input:"1px 2", q:"1px 2px", shorthand:true},
87 {input:"1 2px", q:"1px 2px", shorthand:true},
88 {input:"1px calc(2)", shorthand:true},
89 {input:"calc(1) 2px", shorthand:true},
90 {input:"1 +2", q:"1px 2px", shorthand:true},
91 {input:"1 -2", q:"1px -2px", shorthand:true},
92 ];
93
94 var props = [
95 {prop:'background-position', check:'background-position', check_also:[]} ,
96 {prop:'border-spacing', check:'border-spacing', check_also:[]},
97 {prop:'border-top-width', check:'border-top-width'},
98 {prop:'border-right-width', check:'border-right-width'},
99 {prop:'border-bottom-width', check:'border-bottom-width'},
100 {prop:'border-left-width', check:'border-left-width'},
101 {prop:'border-width', check:'border-top-width', check_also:['border-righ t-width', 'border-bottom-width', 'border-left-width']},
102 {prop:'bottom', check:'bottom'},
103 {prop:'clip', check:'clip'},
104 {prop:'font-size', check:'font-size'},
105 {prop:'height', check:'height'},
106 {prop:'left', check:'left'},
107 {prop:'letter-spacing', check:'letter-spacing'},
108 {prop:'margin-right', check:'margin-right'},
109 {prop:'margin-left', check:'margin-left'},
110 {prop:'margin-top', check:'margin-top'},
111 {prop:'margin-bottom', check:'margin-bottom'},
112 {prop:'margin', check:'margin-top', check_also:['margin-right', 'margin- bottom', 'margin-left']},
113 {prop:'max-height', check:'max-height'},
114 {prop:'max-width', check:'max-width'},
115 {prop:'min-height', check:'min-height'},
116 {prop:'min-width', check:'min-width'},
117 {prop:'padding-top', check:'padding-top'},
118 {prop:'padding-right', check:'padding-right'},
119 {prop:'padding-bottom', check:'padding-bottom'},
120 {prop:'padding-left', check:'padding-left'},
121 {prop:'padding', check:'padding-top', check_also:['padding-right', 'padd ing-bottom', 'padding-left']},
122 {prop:'right', check:'right'},
123 {prop:'text-indent', check:'text-indent'},
124 {prop:'top', check:'top'},
125 {prop:'vertical-align', check:'vertical-align'},
126 {prop:'width', check:'width'},
127 {prop:'word-spacing', check:'word-spacing'},
128 ];
129 var style_template = '#test{border-style:solid;position:relative;{prop}: {test};}' +
130 '#ref{border-style:solid;position:relative;{prop}:{ ref};}';
131
132 tests.forEach(function(t) {
133 var test_q = async_test(t.input + ' (quirks)');
134 var test_a = async_test(t.input + ' (almost standards)');
135 var test_s = async_test(t.input + ' (standards)');
136 for (var i in props) {
137 if (t.shorthand && !(props[i].check_also)) {
138 continue;
139 }
140 test_q.step(function() {
141 q.style.textContent = style_template.replace('{test}', t.inp ut)
142 .replace('{ref}', t.q).replace(/\{prop\}/g, prop s[i].prop)
143 .replace(/clip:[^;]+/g, function(match) {
144 return 'clip:rect(auto, auto, auto, ' + matc h.substr(5) + ')';
145 });
146 assert_equals(q.getComputedStyle(q.test).getPropertyValue(pr ops[i].check),
147 q.getComputedStyle(q.ref).getPropertyValue(pro ps[i].check),
148 props[i].prop);
149 if (t.shorthand && props[i].check_also) {
150 for (var j in props[i].check_also) {
151 assert_equals(q.getComputedStyle(q.test).getProperty Value(props[i].check_also[j]),
152 q.getComputedStyle(q.ref).getPropertyV alue(props[i].check_also[j]),
153 props[i].prop + ', checking ' + props[ i].check_also[j]);
154 }
155 }
156 });
157 test_a.step(function() {
158 a.style.textContent = style_template.replace('{test}', t.inp ut)
159 .replace('{ref}', t.s).replace(/\{prop\}/g, prop s[i].prop)
160 .replace(/clip:[^;]+/g, function(match) {
161 return 'clip:rect(auto, auto, auto, ' + matc h.substr(5) + ')';
162 });
163 assert_equals(a.getComputedStyle(a.test).getPropertyValue(pr ops[i].check),
164 a.getComputedStyle(a.ref).getPropertyValue(pro ps[i].check),
165 props[i].prop + ' in almost standards mode');
166 if (t.shorthand && props[i].check_also) {
167 for (var j in props[i].check_also) {
168 assert_equals(a.getComputedStyle(a.test).getProperty Value(props[i].check_also[j]),
169 a.getComputedStyle(a.ref).getPropertyV alue(props[i].check_also[j]),
170 props[i].prop + ', checking ' + props[ i].check_also[j]);
171 }
172 }
173 });
174 test_s.step(function() {
175 s.style.textContent = style_template.replace('{test}', t.inp ut)
176 .replace('{ref}', t.s).replace(/\{prop\}/g, prop s[i].prop)
177 .replace(/clip:[^;]+/g, function(match) {
178 return 'clip:rect(auto, auto, auto, ' + matc h.substr(5) + ')';
179 });
180 assert_equals(s.getComputedStyle(s.test).getPropertyValue(pr ops[i].check),
181 s.getComputedStyle(s.ref).getPropertyValue(pro ps[i].check),
182 props[i].prop + ' in standards mode');
183 if (t.shorthand && props[i].check_also) {
184 for (var j in props[i].check_also) {
185 assert_equals(s.getComputedStyle(s.test).getProperty Value(props[i].check_also[j]),
186 s.getComputedStyle(s.ref).getPropertyV alue(props[i].check_also[j]),
187 props[i].prop + ', checking ' + props[ i].check_also[j]);
188 }
189 }
190 });
191 }
192 test_q.done();
193 test_a.done();
194 test_s.done();
195
196 });
197
198 var other_tests = [
199 {input:'background:1 1', prop:'background-position'},
200 {input:'border-top:red solid 1', prop:'border-top-width'},
201 {input:'border-right:red solid 1', prop:'border-right-width'},
202 {input:'border-bottom:red solid 1', prop:'border-bottom-width'},
203 {input:'border-left:red solid 1', prop:'border-left-width'},
204 {input:'border:red solid 1', prop:'border-top-width'},
205 {input:'font:normal normal normal 40 sans-serif', prop:'font-size'},
206 {input:'outline:red solid 1', prop:'outline-width'},
207 {input:'outline-width:1', prop:'outline-width'},
208 ];
209
210 var other_template = "#test{position:relative;outline-style:solid;{test} }" +
211 "#ref{outline-style:solid}";
212
213 other_tests.forEach(function(t) {
214 test(function() {
215 q.style.textContent = other_template.replace('{test}', t.input);
216 assert_equals(q.getComputedStyle(q.test).getPropertyValue(t.prop ),
217 q.getComputedStyle(q.ref).getPropertyValue(t.prop) ,
218 'quirk was supported');
219 }, 'Excluded property '+t.input);
220 });
221
222 done();
223 }
224 </script>
225 </body>
226 </html>
OLDNEW
« no previous file with comments | « third_party/WebKit/LayoutTests/imported/wpt/quirks-mode/table-cell-width-calculation.html ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698