| OLD | NEW |
| (Empty) |
| 1 <!-- | |
| 2 Copyright 2014 The Chromium Authors. All rights reserved. | |
| 3 Use of this source code is governed by a BSD-style license that can be | |
| 4 found in the LICENSE file. | |
| 5 --> | |
| 6 | |
| 7 <link rel="import" href="../../lib/network-simulator.html"> | |
| 8 | |
| 9 <script> | |
| 10 (function() { | |
| 11 | |
| 12 var assert = chai.assert; | |
| 13 | |
| 14 describe('results script', function() { | |
| 15 | |
| 16 var MockResultsBaseURL = 'https://storage.googleapis.com/chromium-layout-test-
archives/Mock_Builder/results/layout-test-results'; | |
| 17 | |
| 18 it('should trim extensions', function() { | |
| 19 assert.equal(results._trimExtension('xyz'), 'xyz'); | |
| 20 assert.equal(results._trimExtension('xy.z'), 'xy'); | |
| 21 assert.equal(results._trimExtension('x.yz'), 'x'); | |
| 22 assert.equal(results._trimExtension('x.y.z'), 'x.y'); | |
| 23 assert.equal(results._trimExtension('.xyz'), ''); | |
| 24 assert.equal(results._trimExtension(''), ''); | |
| 25 }); | |
| 26 | |
| 27 it('should create failure info', function() { | |
| 28 var failureInfo = results.failureInfo('userscripts/another-test.html', 'Mock
Builder', 'FAIL PASS'); | |
| 29 assert.deepEqual(failureInfo, { | |
| 30 'testName': 'userscripts/another-test.html', | |
| 31 'builderName': 'Mock Builder', | |
| 32 'failureTypeList': ['FAIL', 'PASS'], | |
| 33 }); | |
| 34 }); | |
| 35 | |
| 36 it('should get result kind', function() { | |
| 37 assert.equal(results.resultKind('https://example.com/foo-actual.txt'), 'actu
al'); | |
| 38 assert.equal(results.resultKind('https://example.com/foo-expected.txt'), 'ex
pected'); | |
| 39 assert.equal(results.resultKind('https://example.com/foo-diff.txt'), 'diff')
; | |
| 40 assert.equal(results.resultKind('https://example.com/foo.bar-actual.txt'), '
actual'); | |
| 41 assert.equal(results.resultKind('https://example.com/foo.bar-expected.txt'),
'expected'); | |
| 42 assert.equal(results.resultKind('https://example.com/foo.bar-diff.txt'), 'di
ff'); | |
| 43 assert.equal(results.resultKind('https://example.com/foo-actual.png'), 'actu
al'); | |
| 44 assert.equal(results.resultKind('https://example.com/foo-expected.png'), 'ex
pected'); | |
| 45 assert.equal(results.resultKind('https://example.com/foo-diff.png'), 'diff')
; | |
| 46 assert.equal(results.resultKind('https://example.com/foo-pretty-diff.html'),
'diff'); | |
| 47 assert.equal(results.resultKind('https://example.com/foo-wdiff.html'), 'diff
'); | |
| 48 assert.equal(results.resultKind('https://example.com/foo-xyz.html'), 'unknow
n'); | |
| 49 }); | |
| 50 | |
| 51 it('should get result type', function() { | |
| 52 assert.equal(results.resultType('https://example.com/foo-actual.txt'), 'text
'); | |
| 53 assert.equal(results.resultType('https://example.com/foo-expected.txt'), 'te
xt'); | |
| 54 assert.equal(results.resultType('https://example.com/foo-diff.txt'), 'text')
; | |
| 55 assert.equal(results.resultType('https://example.com/foo.bar-actual.txt'), '
text'); | |
| 56 assert.equal(results.resultType('https://example.com/foo.bar-expected.txt'),
'text'); | |
| 57 assert.equal(results.resultType('https://example.com/foo.bar-diff.txt'), 'te
xt'); | |
| 58 assert.equal(results.resultType('https://example.com/foo-actual.png'), 'imag
e'); | |
| 59 assert.equal(results.resultType('https://example.com/foo-expected.png'), 'im
age'); | |
| 60 assert.equal(results.resultType('https://example.com/foo-diff.png'), 'image'
); | |
| 61 assert.equal(results.resultType('https://example.com/foo-pretty-diff.html'),
'text'); | |
| 62 assert.equal(results.resultType('https://example.com/foo-wdiff.html'), 'text
'); | |
| 63 assert.equal(results.resultType('https://example.com/foo.xyz'), 'text'); | |
| 64 }); | |
| 65 | |
| 66 it('fetchResultsURLS', function(done) { | |
| 67 var simulator = new NetworkSimulator(assert, done); | |
| 68 | |
| 69 var probedURLs = []; | |
| 70 simulator.probe = function(url) { | |
| 71 probedURLs.push(url); | |
| 72 if (url.endsWith('.txt')) | |
| 73 return Promise.resolve(); | |
| 74 else if (/taco.+png$/.test(url)) | |
| 75 return Promise.resolve(); | |
| 76 else | |
| 77 return Promise.reject(); | |
| 78 }; | |
| 79 simulator.runTest(function() { | |
| 80 return Promise.resolve().then(function() { | |
| 81 return results.fetchResultsURLs({ | |
| 82 'builderName': 'Mock Builder', | |
| 83 'testName': 'userscripts/another-test.html', | |
| 84 'failureTypeList': ['IMAGE', 'CRASH'], | |
| 85 }).then(function(resultURLs) { | |
| 86 assert.deepEqual(resultURLs, [ | |
| 87 MockResultsBaseURL + '/userscripts/another-test-crash-log.txt' | |
| 88 ]); | |
| 89 }); | |
| 90 }).then(function() { | |
| 91 return results.fetchResultsURLs({ | |
| 92 'builderName': 'Mock Builder', | |
| 93 'testName': 'userscripts/another-test.html', | |
| 94 'failureTypeList': ['TIMEOUT'], | |
| 95 }).then(function(resultURLs) { | |
| 96 assert.deepEqual(resultURLs, []); | |
| 97 }); | |
| 98 }).then(function() { | |
| 99 return results.fetchResultsURLs({ | |
| 100 'builderName': 'Mock Builder', | |
| 101 'testName': 'userscripts/taco.html', | |
| 102 'failureTypeList': ['IMAGE', 'IMAGE+TEXT'], | |
| 103 }).then(function(resultURLs) { | |
| 104 assert.deepEqual(resultURLs, [ | |
| 105 MockResultsBaseURL + '/userscripts/taco-expected.png', | |
| 106 MockResultsBaseURL + '/userscripts/taco-actual.png', | |
| 107 MockResultsBaseURL + '/userscripts/taco-diff.png', | |
| 108 MockResultsBaseURL + '/userscripts/taco-expected.txt', | |
| 109 MockResultsBaseURL + '/userscripts/taco-actual.txt', | |
| 110 MockResultsBaseURL + '/userscripts/taco-diff.txt', | |
| 111 ]); | |
| 112 }); | |
| 113 }).then(function() { | |
| 114 return results.fetchResultsURLs({ | |
| 115 'builderName': 'Mock Builder', | |
| 116 'testName': 'userscripts/another-test.html', | |
| 117 'failureTypeList': ['LEAK'], | |
| 118 }).then(function(resultURLs) { | |
| 119 assert.deepEqual(resultURLs, [ | |
| 120 MockResultsBaseURL + '/userscripts/another-test-leak-log.txt' | |
| 121 ]); | |
| 122 }); | |
| 123 }).then(function() { | |
| 124 assert.deepEqual(probedURLs, [ | |
| 125 MockResultsBaseURL + '/userscripts/another-test-expected.png', | |
| 126 MockResultsBaseURL + '/userscripts/another-test-actual.png', | |
| 127 MockResultsBaseURL + '/userscripts/another-test-diff.png', | |
| 128 MockResultsBaseURL + '/userscripts/another-test-crash-log.txt', | |
| 129 MockResultsBaseURL + '/userscripts/taco-expected.png', | |
| 130 MockResultsBaseURL + '/userscripts/taco-actual.png', | |
| 131 MockResultsBaseURL + '/userscripts/taco-diff.png', | |
| 132 MockResultsBaseURL + '/userscripts/taco-actual.txt', | |
| 133 MockResultsBaseURL + '/userscripts/taco-expected.txt', | |
| 134 MockResultsBaseURL + '/userscripts/taco-diff.txt', | |
| 135 MockResultsBaseURL + '/userscripts/another-test-leak-log.txt', | |
| 136 ]); | |
| 137 }); | |
| 138 }); | |
| 139 }); | |
| 140 }); | |
| 141 | |
| 142 })(); | |
| 143 </script> | |
| OLD | NEW |