| 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-panel.html"> | |
| 8 | |
| 9 <link rel="import" href="../../model/ct-step-failure.html"> | |
| 10 | |
| 11 <script> | |
| 12 (function () { | |
| 13 | |
| 14 var assert = chai.assert; | |
| 15 | |
| 16 var kExampleFailures = [ | |
| 17 new CTStepFailure("testName", "plugins/gesture-events-scrolled.html", | |
| 18 { | |
| 19 "WebKit Win7 (dbg)": { | |
| 20 "expected": "PASS", | |
| 21 "is_unexpected": true, | |
| 22 "actual": "CRASH", | |
| 23 "time": 0.9 | |
| 24 }, | |
| 25 "WebKit Mac10.6 (dbg)": { | |
| 26 "expected": "PASS", | |
| 27 "is_unexpected": true, | |
| 28 "actual": "CRASH", | |
| 29 "has_stderr": true, | |
| 30 "time": 1.8 | |
| 31 }, | |
| 32 "WebKit Mac10.7 (dbg)": { | |
| 33 "expected": "PASS", | |
| 34 "is_unexpected": true, | |
| 35 "actual": "CRASH", | |
| 36 "has_stderr": true, | |
| 37 "time": 3.2 | |
| 38 } | |
| 39 }, | |
| 40 177164, 177165 | |
| 41 ), | |
| 42 new CTStepFailure("testName", "plugins/transformed-events.html", | |
| 43 { | |
| 44 "WebKit Win7 (dbg)": { | |
| 45 "expected": "PASS", | |
| 46 "is_unexpected": true, | |
| 47 "actual": "CRASH", | |
| 48 "time": 0.6 | |
| 49 }, | |
| 50 "WebKit Mac10.6 (dbg)": { | |
| 51 "expected": "PASS", | |
| 52 "is_unexpected": true, | |
| 53 "actual": "CRASH", | |
| 54 "has_stderr": true, | |
| 55 "time": 1.4 | |
| 56 }, | |
| 57 "WebKit Mac10.7 (dbg)": { | |
| 58 "expected": "PASS", | |
| 59 "is_unexpected": true, | |
| 60 "actual": "CRASH", | |
| 61 "has_stderr": true, | |
| 62 "time": 3 | |
| 63 } | |
| 64 }, | |
| 65 177164, 177165 | |
| 66 ), | |
| 67 new CTStepFailure("testName", "plugins/gesture-events.html", | |
| 68 { | |
| 69 "WebKit Win7 (dbg)": { | |
| 70 "expected": "PASS", | |
| 71 "is_unexpected": true, | |
| 72 "actual": "CRASH", | |
| 73 "time": 1.7 | |
| 74 }, | |
| 75 "WebKit Mac10.6 (dbg)": { | |
| 76 "expected": "PASS", | |
| 77 "is_unexpected": true, | |
| 78 "actual": "CRASH", | |
| 79 "has_stderr": true, | |
| 80 "time": 2.5 | |
| 81 }, | |
| 82 "WebKit Mac10.7 (dbg)": { | |
| 83 "expected": "PASS", | |
| 84 "is_unexpected": true, | |
| 85 "actual": "CRASH", | |
| 86 "has_stderr": true, | |
| 87 "time": 3.4 | |
| 88 } | |
| 89 }, | |
| 90 177164, 177165 | |
| 91 ), | |
| 92 ]; | |
| 93 | |
| 94 describe('ct-results-panel', function() { | |
| 95 var panel; | |
| 96 | |
| 97 function createPanel() { | |
| 98 panel = document.createElement('ct-results-panel'); | |
| 99 // FIXME: The results-panel needs to be appended to the DOM so that the flak
iness | |
| 100 // dashboard's iframe has a window when we grab location off of it, but that | |
| 101 // also means that we actually do fetches for the iframes of the foo_step st
dio. | |
| 102 // This results in some console spam from the 404'ed request. | |
| 103 panel.hidden = true; | |
| 104 document.body.appendChild(panel); | |
| 105 } | |
| 106 | |
| 107 function assignFailures(failures) { | |
| 108 // FIXME: This should be a proper CTFailureGroup | |
| 109 panel.group = { | |
| 110 data: { | |
| 111 failures: failures | |
| 112 } | |
| 113 }; | |
| 114 } | |
| 115 | |
| 116 function assignUrl(url) { | |
| 117 // FIXME: This should be a proper CTFailureGroup | |
| 118 panel.group = { | |
| 119 data: { | |
| 120 url: url | |
| 121 } | |
| 122 }; | |
| 123 } | |
| 124 | |
| 125 afterEach(function() { | |
| 126 panel.remove(); | |
| 127 panel = undefined; | |
| 128 }); | |
| 129 | |
| 130 it('should show no results', function(done) { | |
| 131 createPanel(); | |
| 132 setTimeout(function() { | |
| 133 var message = panel.shadowRoot.querySelector('.message'); | |
| 134 assert.equal(message.textContent, 'Loading...'); | |
| 135 | |
| 136 panel.group = 'this is an invalid group'; | |
| 137 | |
| 138 setTimeout(function() { | |
| 139 var message = panel.shadowRoot.querySelector('.message'); | |
| 140 assert.equal(message.textContent, 'No results to display.'); | |
| 141 done(); | |
| 142 }); | |
| 143 }); | |
| 144 }); | |
| 145 | |
| 146 it('should show tests and results for selected test', function(done) { | |
| 147 createPanel(); | |
| 148 assignFailures(kExampleFailures); | |
| 149 | |
| 150 setTimeout(function() { | |
| 151 assert.notOk(panel.shadowRoot.querySelector('.message')); | |
| 152 | |
| 153 var items = panel.shadowRoot.querySelectorAll('core-menu > div'); | |
| 154 assert.lengthOf(items, 3); | |
| 155 assert.equal(items[0].textContent, 'plugins/gesture-events-scrolled.html')
; | |
| 156 assert.equal(items[1].textContent, 'plugins/transformed-events.html'); | |
| 157 assert.equal(items[2].textContent, 'plugins/gesture-events.html'); | |
| 158 | |
| 159 var results = panel.shadowRoot.querySelectorAll('ct-results-by-builder'); | |
| 160 assert.lengthOf(results, 1); | |
| 161 assert.equal(results[0].failure, kExampleFailures[0]); | |
| 162 | |
| 163 panel.shadowRoot.querySelector('core-menu').selected = 2; | |
| 164 | |
| 165 setTimeout(function() { | |
| 166 var results = panel.shadowRoot.querySelectorAll('ct-results-by-builder')
; | |
| 167 assert.lengthOf(results, 1); | |
| 168 assert.equal(results[0].failure, kExampleFailures[2]); | |
| 169 | |
| 170 done(); | |
| 171 }); | |
| 172 }); | |
| 173 }); | |
| 174 | |
| 175 it('should show step failure', function(done) { | |
| 176 createPanel(); | |
| 177 var failure = { | |
| 178 testName: null, | |
| 179 step: 'foo-step', | |
| 180 resultNodesByBuilder: { | |
| 181 'WebKit Win7 (dbg)': { | |
| 182 actual: 'UNKNOWN', | |
| 183 }, | |
| 184 }, | |
| 185 oldestFailingRevision: 123, | |
| 186 newestPassingRevision: 124, | |
| 187 }; | |
| 188 assignFailures([failure]); | |
| 189 | |
| 190 setTimeout(function() { | |
| 191 assert.notOk(panel.shadowRoot.querySelector('.message')); | |
| 192 | |
| 193 var items = panel.shadowRoot.querySelectorAll('core-menu > div'); | |
| 194 assert.lengthOf(items, 0); | |
| 195 | |
| 196 var results = panel.shadowRoot.querySelectorAll('ct-results-by-builder'); | |
| 197 assert.lengthOf(results, 1); | |
| 198 assert.equal(results[0].failure, failure); | |
| 199 | |
| 200 assert.lengthOf(panel.shadowRoot.querySelectorAll('ct-embedded-flakiness-d
ashboard'), 0); | |
| 201 done(); | |
| 202 }); | |
| 203 }); | |
| 204 | |
| 205 it('should show url failure', function(done) { | |
| 206 createPanel(); | |
| 207 var url = 'https://url.com'; | |
| 208 assignUrl(url); | |
| 209 | |
| 210 setTimeout(function() { | |
| 211 assert.notOk(panel.shadowRoot.querySelector('.message')); | |
| 212 | |
| 213 var items = panel.shadowRoot.querySelectorAll('core-menu > div'); | |
| 214 assert.lengthOf(items, 0); | |
| 215 | |
| 216 var results = panel.shadowRoot.querySelectorAll('ct-popout-iframe'); | |
| 217 assert.lengthOf(results, 1); | |
| 218 assert.equal(results[0].src, url); | |
| 219 | |
| 220 assert.lengthOf(panel.shadowRoot.querySelectorAll('ct-embedded-flakiness-d
ashboard'), 0); | |
| 221 done(); | |
| 222 }); | |
| 223 }); | |
| 224 | |
| 225 }); | |
| 226 | |
| 227 })(); | |
| 228 </script> | |
| OLD | NEW |