|
Lines 113-129
function runSingleRowTest(results, isExpected, textResults, imageResults)
a/LayoutTests/fast/harness/resources/results-test.js_sec1
|
| 113 |
function runTests() |
113 |
function runTests() |
| 114 |
{ |
114 |
{ |
| 115 |
var results = mockResults(); |
115 |
var results = mockResults(); |
| 116 |
results.tests['foo/bar.html'] = mockExpectation('PASS', 'TEXT'); |
116 |
var subtree = results.tests['foo'] = {} |
|
|
117 |
subtree['bar.html'] = mockExpectation('PASS', 'TEXT'); |
| 117 |
runTest(results, function() { |
118 |
runTest(results, function() { |
| 118 |
assertTrue(document.getElementById('image-results-header').textContent == ''); |
119 |
assertTrue(document.getElementById('image-results-header').textContent == ''); |
| 119 |
assertTrue(document.getElementById('text-results-header').textContent != ''); |
120 |
assertTrue(document.getElementById('text-results-header').textContent != ''); |
| 120 |
}); |
121 |
}); |
| 121 |
|
122 |
|
| 122 |
results = mockResults(); |
123 |
results = mockResults(); |
| 123 |
results.tests['foo/bar.html'] = mockExpectation('TEXT', 'MISSING'); |
124 |
var subtree = results.tests['foo'] = {} |
| 124 |
results.tests['foo/bar.html'].is_missing_text = true; |
125 |
subtree['bar.html'] = mockExpectation('TEXT', 'MISSING'); |
| 125 |
results.tests['foo/bar.html'].is_missing_audio = true; |
126 |
subtree['bar.html'].is_missing_text = true; |
| 126 |
results.tests['foo/bar.html'].is_missing_image = true; |
127 |
subtree['bar.html'].is_missing_audio = true; |
|
|
128 |
subtree['bar.html'].is_missing_image = true; |
| 127 |
runTest(results, function() { |
129 |
runTest(results, function() { |
| 128 |
assertTrue(!document.getElementById('results-table')); |
130 |
assertTrue(!document.getElementById('results-table')); |
| 129 |
assertTrue(document.querySelector('#new-tests-table .test-link').textContent == 'foo/bar.html'); |
131 |
assertTrue(document.querySelector('#new-tests-table .test-link').textContent == 'foo/bar.html'); |
|
Lines 133-149
function runTests()
a/LayoutTests/fast/harness/resources/results-test.js_sec2
|
| 133 |
}); |
135 |
}); |
| 134 |
|
136 |
|
| 135 |
results = mockResults(); |
137 |
results = mockResults(); |
| 136 |
results.tests['foo/bar.html'] = mockExpectation('PASS', 'TEXT'); |
138 |
var subtree = results.tests['foo'] = {} |
| 137 |
results.tests['foo/bar.html'].has_stderr = true; |
139 |
subtree['bar.html'] = mockExpectation('PASS', 'TEXT'); |
|
|
140 |
subtree['bar.html'].has_stderr = true; |
| 138 |
runTest(results, function() { |
141 |
runTest(results, function() { |
| 139 |
assertTrue(document.getElementById('results-table')); |
142 |
assertTrue(document.getElementById('results-table')); |
| 140 |
assertTrue(document.querySelector('#stderr-table .result-link').textContent == 'stderr'); |
143 |
assertTrue(document.querySelector('#stderr-table .result-link').textContent == 'stderr'); |
| 141 |
}); |
144 |
}); |
| 142 |
|
145 |
|
| 143 |
results = mockResults(); |
146 |
results = mockResults(); |
| 144 |
results.tests['foo/bar.html'] = mockExpectation('TEXT', 'PASS'); |
147 |
var subtree = results.tests['foo'] = {} |
| 145 |
results.tests['foo/bar1.html'] = mockExpectation('CRASH', 'PASS'); |
148 |
subtree['bar.html'] = mockExpectation('TEXT', 'PASS'); |
| 146 |
results.tests['foo/bar2.html'] = mockExpectation('IMAGE', 'PASS'); |
149 |
subtree['bar1.html'] = mockExpectation('CRASH', 'PASS'); |
|
|
150 |
subtree['bar2.html'] = mockExpectation('IMAGE', 'PASS'); |
| 147 |
runTest(results, function() { |
151 |
runTest(results, function() { |
| 148 |
assertTrue(!document.getElementById('results-table')); |
152 |
assertTrue(!document.getElementById('results-table')); |
| 149 |
|
153 |
|
|
Lines 159-170
function runTests()
a/LayoutTests/fast/harness/resources/results-test.js_sec3
|
| 159 |
}); |
163 |
}); |
| 160 |
|
164 |
|
| 161 |
results = mockResults(); |
165 |
results = mockResults(); |
| 162 |
results.tests['foo/bar.html'] = mockExpectation('TEXT', 'PASS'); |
166 |
var subtree = results.tests['foo'] = {} |
| 163 |
results.tests['foo/bar-missing.html'] = mockExpectation('TEXT', 'MISSING'); |
167 |
subtree['bar.html'] = mockExpectation('TEXT', 'PASS'); |
| 164 |
results.tests['foo/bar-missing.html'].is_missing_text = true; |
168 |
subtree['bar-missing.html'] = mockExpectation('TEXT', 'MISSING'); |
| 165 |
results.tests['foo/bar-stderr.html'] = mockExpectation('PASS', 'TEXT'); |
169 |
subtree['bar-missing.html'].is_missing_text = true; |
| 166 |
results.tests['foo/bar-stderr.html'].has_stderr = true; |
170 |
subtree['bar-stderr.html'] = mockExpectation('PASS', 'TEXT'); |
| 167 |
results.tests['foo/bar-unexpected-pass.html'] = mockExpectation('TEXT', 'PASS'); |
171 |
subtree['bar-stderr.html'].has_stderr = true; |
|
|
172 |
subtree['bar-unexpected-pass.html'] = mockExpectation('TEXT', 'PASS'); |
| 168 |
runTest(results, function() { |
173 |
runTest(results, function() { |
| 169 |
assertTrue(document.querySelectorAll('tbody tr').length == 5); |
174 |
assertTrue(document.querySelectorAll('tbody tr').length == 5); |
| 170 |
expandAllExpectations(); |
175 |
expandAllExpectations(); |
|
Lines 191-198
function runTests()
a/LayoutTests/fast/harness/resources/results-test.js_sec4
|
| 191 |
}); |
196 |
}); |
| 192 |
|
197 |
|
| 193 |
results = mockResults(); |
198 |
results = mockResults(); |
| 194 |
results.tests['foo/bar.html'] = mockExpectation('PASS', 'TEXT'); |
199 |
var subtree = results.tests['foo'] = {} |
| 195 |
results.tests['foo/bar-expected-fail.html'] = mockExpectation('TEXT', 'TEXT'); |
200 |
subtree['bar.html'] = mockExpectation('PASS', 'TEXT'); |
|
|
201 |
subtree['bar-expected-fail.html'] = mockExpectation('TEXT', 'TEXT'); |
| 196 |
runTest(results, function() { |
202 |
runTest(results, function() { |
| 197 |
assertTrue(document.querySelectorAll('.expected').length == 1); |
203 |
assertTrue(document.querySelectorAll('.expected').length == 1); |
| 198 |
assertTrue(document.querySelector('.expected .test-link').textContent == 'foo/bar-expected-fail.html'); |
204 |
assertTrue(document.querySelector('.expected .test-link').textContent == 'foo/bar-expected-fail.html'); |
|
Lines 210-243
function runTests()
a/LayoutTests/fast/harness/resources/results-test.js_sec5
|
| 210 |
assertTrue(document.querySelectorAll('.results-row').length == 2); |
216 |
assertTrue(document.querySelectorAll('.results-row').length == 2); |
| 211 |
}); |
217 |
}); |
| 212 |
|
218 |
|
| 213 |
runDefaultSingleRowTest('foo/bar-skip.html', 'TEXT', 'SKIP', true, '', ''); |
219 |
runDefaultSingleRowTest('bar-skip.html', 'TEXT', 'SKIP', true, '', ''); |
| 214 |
runDefaultSingleRowTest('foo/bar-flaky-fail.html', 'PASS FAIL', 'TEXT', true, 'expected actual diff ', ''); |
220 |
runDefaultSingleRowTest('bar-flaky-fail.html', 'PASS FAIL', 'TEXT', true, 'expected actual diff ', ''); |
| 215 |
runDefaultSingleRowTest('foo/bar-flaky-fail-unexpected.html', 'PASS TEXT', 'IMAGE', false, '', 'expected actual diff '); |
221 |
runDefaultSingleRowTest('bar-flaky-fail-unexpected.html', 'PASS TEXT', 'IMAGE', false, '', 'expected actual diff '); |
| 216 |
runDefaultSingleRowTest('foo/bar-crash.html', 'TEXT', 'CRASH', false, 'stack ', ''); |
222 |
runDefaultSingleRowTest('bar-crash.html', 'TEXT', 'CRASH', false, 'stack ', ''); |
| 217 |
runDefaultSingleRowTest('foo/bar-audio.html', 'TEXT', 'AUDIO', false, 'expected actual ', ''); |
223 |
runDefaultSingleRowTest('bar-audio.html', 'TEXT', 'AUDIO', false, 'expected actual ', ''); |
| 218 |
runDefaultSingleRowTest('foo/bar-timeout.html', 'TEXT', 'TIMEOUT', false, 'expected actual diff ', ''); |
224 |
runDefaultSingleRowTest('bar-timeout.html', 'TEXT', 'TIMEOUT', false, 'expected actual diff ', ''); |
| 219 |
runDefaultSingleRowTest('foo/bar-image.html', 'TEXT', 'IMAGE', false, '', 'expected actual diff '); |
225 |
runDefaultSingleRowTest('bar-image.html', 'TEXT', 'IMAGE', false, '', 'expected actual diff '); |
| 220 |
runDefaultSingleRowTest('foo/bar-image-plus-text.html', 'TEXT', 'IMAGE+TEXT', false, 'expected actual diff ', 'expected actual diff '); |
226 |
runDefaultSingleRowTest('bar-image-plus-text.html', 'TEXT', 'IMAGE+TEXT', false, 'expected actual diff ', 'expected actual diff '); |
| 221 |
|
227 |
|
| 222 |
results = mockResults(); |
228 |
results = mockResults(); |
| 223 |
results.tests['foo/bar-reftest.html'] = mockExpectation('PASS', 'IMAGE'); |
229 |
results.tests['bar-reftest.html'] = mockExpectation('PASS', 'IMAGE'); |
| 224 |
results.tests['foo/bar-reftest.html'].is_reftest = true; |
230 |
results.tests['bar-reftest.html'].is_reftest = true; |
| 225 |
runSingleRowTest(results, false, '', 'ref html expected actual diff '); |
231 |
runSingleRowTest(results, false, '', 'ref html expected actual diff '); |
| 226 |
|
232 |
|
| 227 |
results = mockResults(); |
233 |
results = mockResults(); |
| 228 |
results.tests['foo/bar-reftest-mismatch.html'] = mockExpectation('PASS', 'IMAGE'); |
234 |
results.tests['bar-reftest-mismatch.html'] = mockExpectation('PASS', 'IMAGE'); |
| 229 |
results.tests['foo/bar-reftest-mismatch.html'].is_mismatch_reftest = true; |
235 |
results.tests['bar-reftest-mismatch.html'].is_mismatch_reftest = true; |
| 230 |
runSingleRowTest(results, false, '', 'ref mismatch html actual '); |
236 |
runSingleRowTest(results, false, '', 'ref mismatch html actual '); |
| 231 |
|
237 |
|
| 232 |
results = mockResults(); |
238 |
results = mockResults(); |
| 233 |
results.tests['foo/bar-flaky-pass.html'] = mockExpectation('PASS FAIL', 'PASS'); |
239 |
var subtree = results.tests['foo'] = {} |
|
|
240 |
subtree['bar-flaky-pass.html'] = mockExpectation('PASS FAIL', 'PASS'); |
| 234 |
runTest(results, function() { |
241 |
runTest(results, function() { |
| 235 |
// FIXME: should a PASS FAIL test that passes go in the unexpected passes table? |
242 |
// FIXME: should a PASS FAIL test that passes go in the unexpected passes table? |
| 236 |
assertTrue(document.body.textContent.indexOf('foo/bar-flaky-pass.html') == -1); |
243 |
assertTrue(document.body.textContent.indexOf('foo/bar-flaky-pass.html') == -1); |
| 237 |
}); |
244 |
}); |
| 238 |
|
245 |
|
| 239 |
results = mockResults(); |
246 |
results = mockResults(); |
| 240 |
results.tests['foo/bar-really-long-path-that-should-probably-wrap-because-otherwise-the-table-will-be-too-wide.html'] = mockExpectation('PASS', 'TEXT'); |
247 |
var subtree = results.tests['foo'] = {} |
|
|
248 |
subtree['bar-really-long-path-that-should-probably-wrap-because-otherwise-the-table-will-be-too-wide.html'] = mockExpectation('PASS', 'TEXT'); |
| 241 |
runTest(results, function() { |
249 |
runTest(results, function() { |
| 242 |
document.body.style.width = '800px'; |
250 |
document.body.style.width = '800px'; |
| 243 |
var links = document.querySelectorAll('tbody a'); |
251 |
var links = document.querySelectorAll('tbody a'); |
|
Lines 247-253
function runTests()
a/LayoutTests/fast/harness/resources/results-test.js_sec6
|
| 247 |
}); |
255 |
}); |
| 248 |
|
256 |
|
| 249 |
results = mockResults(); |
257 |
results = mockResults(); |
| 250 |
results.tests['foo/bar.html'] = mockExpectation('TEXT', 'TEXT'); |
258 |
var subtree = results.tests['foo'] = {} |
|
|
259 |
subtree['bar.html'] = mockExpectation('TEXT', 'TEXT'); |
| 251 |
results.uses_expectations_file = false; |
260 |
results.uses_expectations_file = false; |
| 252 |
runTest(results, function() { |
261 |
runTest(results, function() { |
| 253 |
assertTrue(document.querySelectorAll('tbody td').length == 4); |
262 |
assertTrue(document.querySelectorAll('tbody td').length == 4); |
|
Lines 255-261
function runTests()
a/LayoutTests/fast/harness/resources/results-test.js_sec7
|
| 255 |
}); |
264 |
}); |
| 256 |
|
265 |
|
| 257 |
results = mockResults(); |
266 |
results = mockResults(); |
| 258 |
results.tests['foo/bar.html'] = mockExpectation('TEXT', 'TEXT'); |
267 |
var subtree = results.tests['foo'] = {} |
|
|
268 |
subtree['bar.html'] = mockExpectation('TEXT', 'TEXT'); |
| 259 |
results.has_pretty_patch = true; |
269 |
results.has_pretty_patch = true; |
| 260 |
runTest(results, function() { |
270 |
runTest(results, function() { |
| 261 |
assertTrue(document.querySelector('tbody td:nth-child(2)').textContent.indexOf('pretty diff') != -1); |
271 |
assertTrue(document.querySelector('tbody td:nth-child(2)').textContent.indexOf('pretty diff') != -1); |
|
Lines 263-269
function runTests()
a/LayoutTests/fast/harness/resources/results-test.js_sec8
|
| 263 |
}); |
273 |
}); |
| 264 |
|
274 |
|
| 265 |
results = mockResults(); |
275 |
results = mockResults(); |
| 266 |
results.tests['foo/bar.html'] = mockExpectation('TEXT', 'TEXT'); |
276 |
var subtree = results.tests['foo'] = {} |
|
|
277 |
subtree['bar.html'] = mockExpectation('TEXT', 'TEXT'); |
| 267 |
results.has_wdiff = true; |
278 |
results.has_wdiff = true; |
| 268 |
runTest(results, function() { |
279 |
runTest(results, function() { |
| 269 |
assertTrue(document.querySelector('tbody td:nth-child(2)').textContent.indexOf('wdiff') != -1); |
280 |
assertTrue(document.querySelector('tbody td:nth-child(2)').textContent.indexOf('wdiff') != -1); |
|
Lines 271-281
function runTests()
a/LayoutTests/fast/harness/resources/results-test.js_sec9
|
| 271 |
}); |
282 |
}); |
| 272 |
|
283 |
|
| 273 |
results = mockResults(); |
284 |
results = mockResults(); |
| 274 |
results.tests['foo/bar.html'] = mockExpectation('TEXT', 'PASS'); |
285 |
var subtree = results.tests['foo'] = {} |
| 275 |
results.tests['foo/bar-1.html'] = mockExpectation('TEXT', 'CRASH'); |
286 |
subtree['bar.html'] = mockExpectation('TEXT', 'PASS'); |
| 276 |
results.tests['foo/bar-5.html'] = mockExpectation('TEXT', 'IMAGE+TEXT'); |
287 |
subtree['bar-1.html'] = mockExpectation('TEXT', 'CRASH'); |
| 277 |
results.tests['foo/bar-3.html'] = mockExpectation('PASS', 'TEXT'); |
288 |
subtree['bar-5.html'] = mockExpectation('TEXT', 'IMAGE+TEXT'); |
| 278 |
results.tests['foo/bar-2.html'] = mockExpectation('PASS', 'IMAGE'); |
289 |
subtree['bar-3.html'] = mockExpectation('PASS', 'TEXT'); |
|
|
290 |
subtree['bar-2.html'] = mockExpectation('PASS', 'IMAGE'); |
| 279 |
runTest(results, function() { |
291 |
runTest(results, function() { |
| 280 |
// FIXME: This just ensures we don't get a JS error. |
292 |
// FIXME: This just ensures we don't get a JS error. |
| 281 |
// Verify that the sort is correct and that inline expanded expectations |
293 |
// Verify that the sort is correct and that inline expanded expectations |
|
Lines 295-301
function runTests()
a/LayoutTests/fast/harness/resources/results-test.js_sec10
|
| 295 |
}); |
307 |
}); |
| 296 |
|
308 |
|
| 297 |
results = mockResults(); |
309 |
results = mockResults(); |
| 298 |
results.tests['foo/bar-5.html'] = mockExpectation('TEXT', 'IMAGE+TEXT'); |
310 |
var subtree = results.tests['foo'] = {} |
|
|
311 |
subtree['bar-5.html'] = mockExpectation('TEXT', 'IMAGE+TEXT'); |
| 299 |
runTest(results, function() { |
312 |
runTest(results, function() { |
| 300 |
expandAllExpectations(); |
313 |
expandAllExpectations(); |
| 301 |
var png = document.querySelector('[src*="bar-5-expected.png"]'); |
314 |
var png = document.querySelector('[src*="bar-5-expected.png"]'); |
|
Lines 313-336
function runTests()
a/LayoutTests/fast/harness/resources/results-test.js_sec11
|
| 313 |
}); |
326 |
}); |
| 314 |
|
327 |
|
| 315 |
results = mockResults(); |
328 |
results = mockResults(); |
| 316 |
results.tests['fullscreen/full-screen-api.html'] = mockExpectation('TEXT', 'IMAGE+TEXT'); |
329 |
var subtree = results.tests['fullscreen'] = {} |
|
|
330 |
subtree['full-screen-api.html'] = mockExpectation('TEXT', 'IMAGE+TEXT'); |
| 317 |
runTest(results, function() { |
331 |
runTest(results, function() { |
| 318 |
var expectedHref = 'file://' + results.layout_tests_dir + '/fullscreen/full-screen-api.html'; |
332 |
var expectedHref = 'file://' + results.layout_tests_dir + '/fullscreen/full-screen-api.html'; |
| 319 |
assertTrue(document.querySelector('tbody td:first-child a').href == expectedHref); |
333 |
assertTrue(document.querySelector('tbody td:first-child a').href == expectedHref); |
| 320 |
}); |
334 |
}); |
| 321 |
|
335 |
|
| 322 |
var oldShouldUseTracLinks = shouldUseTracLinks; |
336 |
var oldShouldUseTracLinks = shouldUseTracLinks; |
| 323 |
shouldUseTracLinks = function() { return true; }; |
337 |
shouldUseTracLinks = function() { return true; }; |
| 324 |
|
338 |
|
| 325 |
results = mockResults(); |
339 |
results = mockResults(); |
| 326 |
results.tests['fullscreen/full-screen-api.html'] = mockExpectation('TEXT', 'IMAGE+TEXT'); |
340 |
var subtree = results.tests['fullscreen'] = {} |
|
|
341 |
subtree['full-screen-api.html'] = mockExpectation('TEXT', 'IMAGE+TEXT'); |
| 327 |
runTest(results, function() { |
342 |
runTest(results, function() { |
| 328 |
var expectedHref = 'http://trac.webkit.org/export/' + results.revision + '/trunk/LayoutTests/fullscreen/full-screen-api.html'; |
343 |
var expectedHref = 'http://trac.webkit.org/export/' + results.revision + '/trunk/LayoutTests/fullscreen/full-screen-api.html'; |
| 329 |
assertTrue(document.querySelector('tbody td:first-child a').href == expectedHref); |
344 |
assertTrue(document.querySelector('tbody td:first-child a').href == expectedHref); |
| 330 |
}); |
345 |
}); |
| 331 |
|
346 |
|
| 332 |
results = mockResults(); |
347 |
results = mockResults(); |
| 333 |
results.tests['fullscreen/full-screen-api.html'] = mockExpectation('TEXT', 'IMAGE+TEXT'); |
348 |
var subtree = results.tests['fullscreen'] = {} |
|
|
349 |
subtree['full-screen-api.html'] = mockExpectation('TEXT', 'IMAGE+TEXT'); |
| 334 |
results.revision = ''; |
350 |
results.revision = ''; |
| 335 |
runTest(results, function() { |
351 |
runTest(results, function() { |
| 336 |
var expectedHref = 'http://trac.webkit.org/browser/trunk/LayoutTests/fullscreen/full-screen-api.html'; |
352 |
var expectedHref = 'http://trac.webkit.org/browser/trunk/LayoutTests/fullscreen/full-screen-api.html'; |