| 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="../ct-results-detail.html"> | |
| 8 | |
| 9 <link rel="import" href="../../lib/network-simulator.html"> | |
| 10 <link rel="import" href="../../model/ct-step-failure.html"> | |
| 11 | |
| 12 <script> | |
| 13 (function () { | |
| 14 | |
| 15 var assert = chai.assert; | |
| 16 | |
| 17 describe('ct-results-detail', function() { | |
| 18 describe('webkit failures', function() { | |
| 19 var resultsDetail; | |
| 20 var probedUrls; | |
| 21 | |
| 22 // Set to test different types. | |
| 23 var resultType = ''; | |
| 24 var extensions = []; | |
| 25 | |
| 26 beforeEach(function(done) { | |
| 27 var simulator = new NetworkSimulator(assert, done); | |
| 28 probedUrls = []; | |
| 29 | |
| 30 simulator.probe = function(url) { | |
| 31 probedUrls.push(url); | |
| 32 for (var i = 0; i < extensions.length; i++) { | |
| 33 if (url.endsWith(extensions[i])) | |
| 34 return Promise.resolve(); | |
| 35 } | |
| 36 return Promise.reject(); | |
| 37 }; | |
| 38 | |
| 39 // FIXME: Use a proper mock model object. | |
| 40 var failure = new CTStepFailure( | |
| 41 "testName", "dummy/test.html", | |
| 42 { | |
| 43 "dummy builder": { | |
| 44 "actual": resultType, | |
| 45 }, | |
| 46 }, 177164, 177165 | |
| 47 ); | |
| 48 | |
| 49 simulator.runTest(function() { | |
| 50 resultsDetail = document.createElement('ct-results-detail'); | |
| 51 resultsDetail.builder = 'dummy builder'; | |
| 52 resultsDetail.failure = failure; | |
| 53 }); | |
| 54 | |
| 55 setTimeout(done); | |
| 56 }); | |
| 57 | |
| 58 describe('image+text', function() { | |
| 59 before(function() { | |
| 60 resultType = "IMAGE+TEXT"; | |
| 61 extensions = ['.txt', '.png']; | |
| 62 }); | |
| 63 | |
| 64 it('should fetch the correct URLs', function() { | |
| 65 assert.deepEqual(probedUrls, [ | |
| 66 'https://storage.googleapis.com/chromium-layout-test-archives/dummy_bu
ilder/results/layout-test-results/dummy/test-expected.png', | |
| 67 'https://storage.googleapis.com/chromium-layout-test-archives/dummy_bu
ilder/results/layout-test-results/dummy/test-actual.png', | |
| 68 'https://storage.googleapis.com/chromium-layout-test-archives/dummy_bu
ilder/results/layout-test-results/dummy/test-diff.png', | |
| 69 'https://storage.googleapis.com/chromium-layout-test-archives/dummy_bu
ilder/results/layout-test-results/dummy/test-actual.txt', | |
| 70 'https://storage.googleapis.com/chromium-layout-test-archives/dummy_bu
ilder/results/layout-test-results/dummy/test-expected.txt', | |
| 71 'https://storage.googleapis.com/chromium-layout-test-archives/dummy_bu
ilder/results/layout-test-results/dummy/test-diff.txt', | |
| 72 ]); | |
| 73 | |
| 74 assert.lengthOf(resultsDetail.shadowRoot.querySelectorAll('ct-results-co
mparison'), 2); | |
| 75 assert.lengthOf(resultsDetail.shadowRoot.querySelectorAll('ct-test-outpu
t'), 0); | |
| 76 }); | |
| 77 }); | |
| 78 | |
| 79 describe('crash', function() { | |
| 80 before(function() { | |
| 81 resultType = "CRASH"; | |
| 82 extensions = ['.txt']; | |
| 83 }); | |
| 84 | |
| 85 it('should fetch the correct URLs', function() { | |
| 86 assert.deepEqual(probedUrls, [ | |
| 87 'https://storage.googleapis.com/chromium-layout-test-archives/dummy_bu
ilder/results/layout-test-results/dummy/test-crash-log.txt', | |
| 88 ]); | |
| 89 | |
| 90 assert.lengthOf(resultsDetail.shadowRoot.querySelectorAll('ct-test-outpu
t'), 1); | |
| 91 assert.lengthOf(resultsDetail.shadowRoot.querySelectorAll('ct-results-co
mparison'), 0); | |
| 92 }); | |
| 93 }); | |
| 94 }); | |
| 95 | |
| 96 describe('failures', function() { | |
| 97 var result; | |
| 98 var expectedUrl; | |
| 99 | |
| 100 afterEach(function() { | |
| 101 var outputs = result.shadowRoot.querySelectorAll('ct-test-output'); | |
| 102 assert.lengthOf(outputs, 1); | |
| 103 assert.equal(outputs[0].url, expectedUrl); | |
| 104 assert.lengthOf(result.shadowRoot.querySelectorAll('ct-results-comparison'
), 0); | |
| 105 }); | |
| 106 | |
| 107 describe('unknown failures', function() { | |
| 108 it('should show the failure output', function(done) { | |
| 109 result = document.createElement('ct-results-detail'); | |
| 110 | |
| 111 result.builder = 'dummy builder'; | |
| 112 | |
| 113 var resultsByBuilder = { | |
| 114 "dummy builder": { | |
| 115 actual: "UNKNOWN", | |
| 116 lastFailingBuild: 124, | |
| 117 masterUrl: 'https://masterurl/' | |
| 118 }, | |
| 119 }; | |
| 120 result.failure = new CTStepFailure('foo_step', 'test.html', resultsByBui
lder, 123, 124); | |
| 121 expectedUrl = 'https://masterurl//builders/dummy%20builder/builds/124/st
eps/foo_step/logs/stdio'; | |
| 122 | |
| 123 setTimeout(done); | |
| 124 }); | |
| 125 }); | |
| 126 | |
| 127 describe('failures', function() { | |
| 128 it('should show the failure output', function(done) { | |
| 129 result = document.createElement('ct-results-detail'); | |
| 130 | |
| 131 result.builder = 'dummy builder'; | |
| 132 | |
| 133 var resultsByBuilder = { | |
| 134 "dummy builder": { | |
| 135 actual: "FAIL", | |
| 136 lastFailingBuild: 124, | |
| 137 masterUrl: 'https://masterurl/' | |
| 138 }, | |
| 139 }; | |
| 140 result.failure = new CTStepFailure('foo_step', 'TestSuite.TestName', res
ultsByBuilder, 123, 124); | |
| 141 expectedUrl = 'https://masterurl//builders/dummy%20builder/builds/124/st
eps/foo_step/logs/TestName'; | |
| 142 | |
| 143 setTimeout(done); | |
| 144 }); | |
| 145 }); | |
| 146 | |
| 147 describe('parameterized gtest failure', function() { | |
| 148 it('should have a munged url', function(done) { | |
| 149 result = document.createElement('ct-results-detail'); | |
| 150 | |
| 151 result.builder = 'dummy builder'; | |
| 152 | |
| 153 var resultsByBuilder = { | |
| 154 "dummy builder": { | |
| 155 actual: "FAIL", | |
| 156 lastFailingBuild: 124, | |
| 157 masterUrl: 'http://masterurl/' | |
| 158 }, | |
| 159 }; | |
| 160 result.failure = new CTStepFailure('foo_step', 'TestSuite.TestName/98',
resultsByBuilder, 123, 124); | |
| 161 expectedUrl = 'http://masterurl//builders/dummy%20builder/builds/124/ste
ps/foo_step/logs/TestName_98'; | |
| 162 | |
| 163 setTimeout(done); | |
| 164 }); | |
| 165 }); | |
| 166 }); | |
| 167 }); | |
| 168 | |
| 169 })() | |
| 170 </script> | |
| OLD | NEW |