| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2011 Google Inc. All rights reserved. | 2 * Copyright (C) 2011 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
| 6 * are met: | 6 * are met: |
| 7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
| 8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
| 9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
| 10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
| 11 * documentation and/or other materials provided with the distribution. | 11 * documentation and/or other materials provided with the distribution. |
| 12 * | 12 * |
| 13 * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' | 13 * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' |
| 14 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, | 14 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, |
| 15 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR | 15 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR |
| 16 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS | 16 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS |
| 17 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | 17 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR |
| 18 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | 18 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF |
| 19 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | 19 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS |
| 20 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN | 20 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN |
| 21 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | 21 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
| 22 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF | 22 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF |
| 23 * THE POSSIBILITY OF SUCH DAMAGE. | 23 * THE POSSIBILITY OF SUCH DAMAGE. |
| 24 */ | 24 */ |
| 25 | 25 |
| 26 (function () { | 26 (function () { |
| 27 | 27 |
| 28 module('ui.notifications'); | 28 module('ui.notifications'); |
| 29 | 29 |
| 30 test('Notification', 5, function() { | 30 test('Notification', 3, function() { |
| 31 var notification = new ui.notifications.Notification(); | 31 var notification = new ui.notifications.Notification(); |
| 32 equal(notification.tagName, 'LI'); | 32 equal(notification.tagName, 'LI'); |
| 33 equal(notification.innerHTML, '<div class="how"></div><div class="what"></di
v>'); | 33 equal(notification.innerHTML, '<div class="how"></div><div class="what"></di
v>'); |
| 34 equal(notification.index(), 0); | |
| 35 notification.setIndex(1); | |
| 36 equal(notification.index(), 1); | |
| 37 // FIXME: Really need to figure out how to mock/test animated removal. | 34 // FIXME: Really need to figure out how to mock/test animated removal. |
| 38 ok(notification.dismiss); | 35 ok(notification.dismiss); |
| 39 }); | 36 }); |
| 40 | 37 |
| 41 test('Stream', 11, function() { | 38 test('Stream', 7, function() { |
| 42 var stream = new ui.notifications.Stream(); | 39 var stream = new ui.notifications.Stream(); |
| 43 equal(stream.tagName, 'OL'); | 40 equal(stream.tagName, 'OL'); |
| 44 equal(stream.className, 'notifications'); | 41 equal(stream.className, 'notifications'); |
| 45 equal(stream.childElementCount, 0); | 42 equal(stream.childElementCount, 0); |
| 46 | 43 |
| 47 var notification; | 44 var notification = new ui.notifications.Info('garden-o-matic is '); |
| 48 | |
| 49 notification = new ui.notifications.Info('-o-matic'); | |
| 50 notification.setIndex(2); | |
| 51 stream.add(notification); | 45 stream.add(notification); |
| 52 equal(stream.childElementCount, 1); | 46 equal(stream.childElementCount, 1); |
| 53 equal(stream.textContent, '-o-matic'); | |
| 54 | |
| 55 notification = new ui.notifications.Info('garden'); | |
| 56 notification.setIndex(3); | |
| 57 stream.add(notification); | |
| 58 equal(stream.childElementCount, 2); | |
| 59 equal(stream.textContent, 'garden-o-matic'); | |
| 60 | |
| 61 notification = new ui.notifications.Info(' is '); | |
| 62 notification.setIndex(1); | |
| 63 stream.add(notification); | |
| 64 equal(stream.childElementCount, 3); | |
| 65 equal(stream.textContent, 'garden-o-matic is '); | 47 equal(stream.textContent, 'garden-o-matic is '); |
| 66 | 48 |
| 67 notification = new ui.notifications.Info('awesome!'); | 49 notification = new ui.notifications.Info('awesome!'); |
| 68 stream.add(notification); | 50 stream.add(notification); |
| 69 equal(stream.childElementCount, 4); | 51 equal(stream.childElementCount, 2); |
| 70 equal(stream.textContent, 'garden-o-matic is awesome!'); | 52 equal(stream.textContent, 'garden-o-matic is awesome!'); |
| 71 }); | 53 }); |
| 72 | 54 |
| 73 test('Info', 2, function() { | 55 test('Info', 2, function() { |
| 74 var info = new ui.notifications.Info('info'); | 56 var info = new ui.notifications.Info('info'); |
| 75 equal(info.tagName, 'LI'); | 57 equal(info.tagName, 'LI'); |
| 76 equal(info.innerHTML, '<div class="how"></div><div class="what">info</div>')
; | 58 equal(info.innerHTML, '<div class="how"></div><div class="what">info</div>')
; |
| 77 }); | 59 }); |
| 78 | 60 |
| 79 test('FailingTestGroup', 2, function() { | 61 test('FailingTestGroup', 2, function() { |
| (...skipping 14 matching lines...) Expand all Loading... |
| 94 '<span class="reviewer">reviewer</span>' + | 76 '<span class="reviewer">reviewer</span>' + |
| 95 '</span>' + | 77 '</span>' + |
| 96 '</div>'); | 78 '</div>'); |
| 97 }); | 79 }); |
| 98 | 80 |
| 99 test('FailingTestsSummary', 12, function() { | 81 test('FailingTestsSummary', 12, function() { |
| 100 var testFailures = new ui.notifications.FailingTestsSummary(); | 82 var testFailures = new ui.notifications.FailingTestsSummary(); |
| 101 equal(testFailures.tagName, 'LI'); | 83 equal(testFailures.tagName, 'LI'); |
| 102 equal(testFailures.innerHTML, | 84 equal(testFailures.innerHTML, |
| 103 '<div class="how">' + | 85 '<div class="how">' + |
| 104 '<time class="relative"></time>' + | |
| 105 '<table class="failures">' + | 86 '<table class="failures">' + |
| 106 '<thead><tr><td>type</td><td>release</td><td>debug</td></tr></th
ead>' + | 87 '<thead><tr><td>type</td><td>release</td><td>debug</td></tr></th
ead>' + |
| 107 '<tbody><tr class="BUILDING" style="display: none;"><td><span>BU
ILDING</span></td><td></td><td></td></tr></tbody>' + | 88 '<tbody><tr class="BUILDING" style="display: none;"><td><span>BU
ILDING</span></td><td></td><td></td></tr></tbody>' + |
| 108 '</table>' + | 89 '</table>' + |
| 109 '</div>' + | 90 '</div>' + |
| 110 '<div class="what">' + | 91 '<div class="what">' + |
| 111 '<div class="problem">' + | 92 '<div class="problem">' + |
| 112 '<ul class="effects"></ul>' + | 93 '<ul class="effects"></ul>' + |
| 113 '<ul class="actions">' + | 94 '<ul class="actions">' + |
| 114 '<li><button class="action default" title="Examine these fai
lures in detail.">Examine</button></li>' + | 95 '<li><button class="action default" title="Examine these fai
lures in detail.">Examine</button></li>' + |
| 115 '<li><button class="action">Rebaseline</button></li>' + | 96 '<li><button class="action">Rebaseline</button></li>' + |
| 116 '</ul>' + | 97 '</ul>' + |
| 117 '</div>' + | 98 '</div>' + |
| 118 '<ul class="causes"></ul>' + | 99 '<ul class="causes"></ul>' + |
| 119 '</div>'); | 100 '</div>'); |
| 120 testFailures.addFailureAnalysis({testName: 'test', resultNodesByBuilder: {}}
); | 101 testFailures.addFailureAnalysis({testName: 'test', resultNodesByBuilder: {}}
); |
| 121 equal(testFailures.index(), 0); | |
| 122 equal(testFailures.innerHTML, | 102 equal(testFailures.innerHTML, |
| 123 '<div class="how">' + | 103 '<div class="how">' + |
| 124 '<time class="relative"></time>' + | |
| 125 '<table class="failures">' + | 104 '<table class="failures">' + |
| 126 '<thead><tr><td>type</td><td>release</td><td>debug</td></tr></th
ead>' + | 105 '<thead><tr><td>type</td><td>release</td><td>debug</td></tr></th
ead>' + |
| 127 '<tbody><tr class="BUILDING" style="display: none;"><td><span>BU
ILDING</span></td><td></td><td></td></tr></tbody>' + | 106 '<tbody><tr class="BUILDING" style="display: none;"><td><span>BU
ILDING</span></td><td></td><td></td></tr></tbody>' + |
| 128 '</table>' + | 107 '</table>' + |
| 129 '</div>' + | 108 '</div>' + |
| 130 '<div class="what">' + | 109 '<div class="what">' + |
| 131 '<div class="problem">' + | 110 '<div class="problem">' + |
| 132 '<ul class="effects">' + | 111 '<ul class="effects">' + |
| 133 '<li><a href="http://test-results.appspot.com/dashboards/fla
kiness_dashboard.html#tests=test">test</a></li>' + | 112 '<li><a href="http://test-results.appspot.com/dashboards/fla
kiness_dashboard.html#tests=test">test</a></li>' + |
| 134 '</ul>' + | 113 '</ul>' + |
| 135 '<ul class="actions">' + | 114 '<ul class="actions">' + |
| 136 '<li><button class="action default" title="Examine these fai
lures in detail.">Examine</button></li>' + | 115 '<li><button class="action default" title="Examine these fai
lures in detail.">Examine</button></li>' + |
| 137 '<li><button class="action">Rebaseline</button></li>' + | 116 '<li><button class="action">Rebaseline</button></li>' + |
| 138 '</ul>' + | 117 '</ul>' + |
| 139 '</div>' + | 118 '</div>' + |
| 140 '<ul class="causes"></ul>' + | 119 '<ul class="causes"></ul>' + |
| 141 '</div>'); | 120 '</div>'); |
| 142 ok(testFailures.containsFailureAnalysis({testName: 'test'})); | 121 ok(testFailures.containsFailureAnalysis({testName: 'test'})); |
| 143 ok(!testFailures.containsFailureAnalysis({testName: 'foo'})); | 122 ok(!testFailures.containsFailureAnalysis({testName: 'foo'})); |
| 144 testFailures.addFailureAnalysis({testName: 'test'}); | 123 testFailures.addFailureAnalysis({testName: 'test'}); |
| 145 equal(testFailures.innerHTML, | 124 equal(testFailures.innerHTML, |
| 146 '<div class="how">' + | 125 '<div class="how">' + |
| 147 '<time class="relative"></time>' + | |
| 148 '<table class="failures">' + | 126 '<table class="failures">' + |
| 149 '<thead><tr><td>type</td><td>release</td><td>debug</td></tr></th
ead>' + | 127 '<thead><tr><td>type</td><td>release</td><td>debug</td></tr></th
ead>' + |
| 150 '<tbody><tr class="BUILDING" style="display: none;"><td><span>BU
ILDING</span></td><td></td><td></td></tr></tbody>' + | 128 '<tbody><tr class="BUILDING" style="display: none;"><td><span>BU
ILDING</span></td><td></td><td></td></tr></tbody>' + |
| 151 '</table>' + | 129 '</table>' + |
| 152 '</div>' + | 130 '</div>' + |
| 153 '<div class="what">' + | 131 '<div class="what">' + |
| 154 '<div class="problem">' + | 132 '<div class="problem">' + |
| 155 '<ul class="effects">' + | 133 '<ul class="effects">' + |
| 156 '<li><a href="http://test-results.appspot.com/dashboards/fla
kiness_dashboard.html#tests=test">test</a></li>' + | 134 '<li><a href="http://test-results.appspot.com/dashboards/fla
kiness_dashboard.html#tests=test">test</a></li>' + |
| 157 '</ul>' + | 135 '</ul>' + |
| 158 '<ul class="actions">' + | 136 '<ul class="actions">' + |
| 159 '<li><button class="action default" title="Examine these fai
lures in detail.">Examine</button></li>' + | 137 '<li><button class="action default" title="Examine these fai
lures in detail.">Examine</button></li>' + |
| 160 '<li><button class="action">Rebaseline</button></li>' + | 138 '<li><button class="action">Rebaseline</button></li>' + |
| 161 '</ul>' + | 139 '</ul>' + |
| 162 '</div>' + | 140 '</div>' + |
| 163 '<ul class="causes"></ul>' + | 141 '<ul class="causes"></ul>' + |
| 164 '</div>'); | 142 '</div>'); |
| 165 deepEqual(testFailures.testNameList(), ['test']); | 143 deepEqual(testFailures.testNameList(), ['test']); |
| 166 var time = new Date(); | 144 var time = new Date(); |
| 167 time.setMinutes(time.getMinutes() - 10); | 145 time.setMinutes(time.getMinutes() - 10); |
| 168 testFailures.addCommitData({revision: 1, time: time, title: "title", author:
"author", reviewer: "reviewer"}); | 146 testFailures.addCommitData({revision: 1, time: time, title: "title", author:
"author", reviewer: "reviewer"}); |
| 169 equal(testFailures.index(), time.getTime()); | |
| 170 equal(testFailures.innerHTML, | 147 equal(testFailures.innerHTML, |
| 171 '<div class="how">' + | 148 '<div class="how">' + |
| 172 '<time class="relative">10 minutes ago</time>' + | |
| 173 '<table class="failures">' + | 149 '<table class="failures">' + |
| 174 '<thead><tr><td>type</td><td>release</td><td>debug</td></tr></th
ead>' + | 150 '<thead><tr><td>type</td><td>release</td><td>debug</td></tr></th
ead>' + |
| 175 '<tbody><tr class="BUILDING" style="display: none;"><td><span>BU
ILDING</span></td><td></td><td></td></tr></tbody>' + | 151 '<tbody><tr class="BUILDING" style="display: none;"><td><span>BU
ILDING</span></td><td></td><td></td></tr></tbody>' + |
| 176 '</table>' + | 152 '</table>' + |
| 177 '</div>' + | 153 '</div>' + |
| 178 '<div class="what">' + | 154 '<div class="what">' + |
| 179 '<div class="problem">' + | 155 '<div class="problem">' + |
| 180 '<ul class="effects">' + | 156 '<ul class="effects">' + |
| 181 '<li><a href="http://test-results.appspot.com/dashboards/fla
kiness_dashboard.html#tests=test">test</a></li>' + | 157 '<li><a href="http://test-results.appspot.com/dashboards/fla
kiness_dashboard.html#tests=test">test</a></li>' + |
| 182 '</ul>' + | 158 '</ul>' + |
| (...skipping 12 matching lines...) Expand all Loading... |
| 195 '<span class="reviewer">reviewer</span>' + | 171 '<span class="reviewer">reviewer</span>' + |
| 196 '</span>' + | 172 '</span>' + |
| 197 '</div>' + | 173 '</div>' + |
| 198 '</li>' + | 174 '</li>' + |
| 199 '</ul>' + | 175 '</ul>' + |
| 200 '</div>'); | 176 '</div>'); |
| 201 | 177 |
| 202 testFailures.addFailureAnalysis({testName: 'foo', resultNodesByBuilder: {'We
bKit Linux (dbg)': { actual: 'TEXT'}}}); | 178 testFailures.addFailureAnalysis({testName: 'foo', resultNodesByBuilder: {'We
bKit Linux (dbg)': { actual: 'TEXT'}}}); |
| 203 equal(testFailures.innerHTML, | 179 equal(testFailures.innerHTML, |
| 204 '<div class="how">' + | 180 '<div class="how">' + |
| 205 '<time class="relative">10 minutes ago</time>' + | |
| 206 '<table class="failures">' + | 181 '<table class="failures">' + |
| 207 '<thead><tr><td>type</td><td>release</td><td>debug</td></tr></th
ead>' + | 182 '<thead><tr><td>type</td><td>release</td><td>debug</td></tr></th
ead>' + |
| 208 '<tbody>' + | 183 '<tbody>' + |
| 209 '<tr class="TEXT">' + | 184 '<tr class="TEXT">' + |
| 210 '<td><span>TEXT</span></td>' + | 185 '<td><span>TEXT</span></td>' + |
| 211 '<td></td>' + | 186 '<td></td>' + |
| 212 '<td><a class="failing-builder" href="http://build.chrom
ium.org/p/chromium.webkit/waterfall?builder=WebKit+Linux+(dbg)"><span class="ver
sion">lucid</span><span class="architecture">64-bit</span></a></td>' + | 187 '<td><a class="failing-builder" href="http://build.chrom
ium.org/p/chromium.webkit/waterfall?builder=WebKit+Linux+(dbg)"><span class="ver
sion">lucid</span><span class="architecture">64-bit</span></a></td>' + |
| 213 '</tr>' + | 188 '</tr>' + |
| 214 '<tr class="BUILDING" style="display: none;"><td><span>BUILD
ING</span></td><td></td><td></td></tr>' + | 189 '<tr class="BUILDING" style="display: none;"><td><span>BUILD
ING</span></td><td></td><td></td></tr>' + |
| 215 '</tbody>' + | 190 '</tbody>' + |
| (...skipping 20 matching lines...) Expand all Loading... |
| 236 '<span class="reviewer">reviewer</span>' + | 211 '<span class="reviewer">reviewer</span>' + |
| 237 '</span>' + | 212 '</span>' + |
| 238 '</div>' + | 213 '</div>' + |
| 239 '</li>' + | 214 '</li>' + |
| 240 '</ul>' + | 215 '</ul>' + |
| 241 '</div>'); | 216 '</div>'); |
| 242 | 217 |
| 243 testFailures.updateBuilderResults({'WebKit Mac10.6': { actual: 'BUILDING'}})
; | 218 testFailures.updateBuilderResults({'WebKit Mac10.6': { actual: 'BUILDING'}})
; |
| 244 equal(testFailures.innerHTML, | 219 equal(testFailures.innerHTML, |
| 245 '<div class="how">' + | 220 '<div class="how">' + |
| 246 '<time class="relative">10 minutes ago</time>' + | |
| 247 '<table class="failures">' + | 221 '<table class="failures">' + |
| 248 '<thead><tr><td>type</td><td>release</td><td>debug</td></tr></th
ead>' + | 222 '<thead><tr><td>type</td><td>release</td><td>debug</td></tr></th
ead>' + |
| 249 '<tbody>' + | 223 '<tbody>' + |
| 250 '<tr class="TEXT">' + | 224 '<tr class="TEXT">' + |
| 251 '<td><span>TEXT</span></td>' + | 225 '<td><span>TEXT</span></td>' + |
| 252 '<td></td>' + | 226 '<td></td>' + |
| 253 '<td><a class="failing-builder" href="http://build.chrom
ium.org/p/chromium.webkit/waterfall?builder=WebKit+Linux+(dbg)"><span class="ver
sion">lucid</span><span class="architecture">64-bit</span></a></td>' + | 227 '<td><a class="failing-builder" href="http://build.chrom
ium.org/p/chromium.webkit/waterfall?builder=WebKit+Linux+(dbg)"><span class="ver
sion">lucid</span><span class="architecture">64-bit</span></a></td>' + |
| 254 '</tr>' + | 228 '</tr>' + |
| 255 '<tr class="BUILDING" style="">' + | 229 '<tr class="BUILDING" style="">' + |
| 256 '<td><span>BUILDING</span></td>' + | 230 '<td><span>BUILDING</span></td>' + |
| (...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 288 | 262 |
| 289 test('FailingTestsSummary (grouping)', 1, function() { | 263 test('FailingTestsSummary (grouping)', 1, function() { |
| 290 var testFailures = new ui.notifications.FailingTestsSummary(); | 264 var testFailures = new ui.notifications.FailingTestsSummary(); |
| 291 testFailures.addFailureAnalysis({testName: 'path/to/test1.html', resultNodes
ByBuilder: {}}); | 265 testFailures.addFailureAnalysis({testName: 'path/to/test1.html', resultNodes
ByBuilder: {}}); |
| 292 testFailures.addFailureAnalysis({testName: 'path/to/test2.html', resultNodes
ByBuilder: {}}); | 266 testFailures.addFailureAnalysis({testName: 'path/to/test2.html', resultNodes
ByBuilder: {}}); |
| 293 testFailures.addFailureAnalysis({testName: 'path/to/test3.html', resultNodes
ByBuilder: {}}); | 267 testFailures.addFailureAnalysis({testName: 'path/to/test3.html', resultNodes
ByBuilder: {}}); |
| 294 testFailures.addFailureAnalysis({testName: 'path/to/test4.html', resultNodes
ByBuilder: {}}); | 268 testFailures.addFailureAnalysis({testName: 'path/to/test4.html', resultNodes
ByBuilder: {}}); |
| 295 testFailures.addFailureAnalysis({testName: 'path/another/test.html', resultN
odesByBuilder: {}}); | 269 testFailures.addFailureAnalysis({testName: 'path/another/test.html', resultN
odesByBuilder: {}}); |
| 296 equal(testFailures.innerHTML, | 270 equal(testFailures.innerHTML, |
| 297 '<div class="how">' + | 271 '<div class="how">' + |
| 298 '<time class="relative"></time>' + | |
| 299 '<table class="failures">' + | 272 '<table class="failures">' + |
| 300 '<thead><tr><td>type</td><td>release</td><td>debug</td></tr></th
ead>' + | 273 '<thead><tr><td>type</td><td>release</td><td>debug</td></tr></th
ead>' + |
| 301 '<tbody><tr class="BUILDING" style="display: none;"><td><span>BU
ILDING</span></td><td></td><td></td></tr></tbody>' + | 274 '<tbody><tr class="BUILDING" style="display: none;"><td><span>BU
ILDING</span></td><td></td><td></td></tr></tbody>' + |
| 302 '</table>' + | 275 '</table>' + |
| 303 '</div>' + | 276 '</div>' + |
| 304 '<div class="what">' + | 277 '<div class="what">' + |
| 305 '<div class="problem">' + | 278 '<div class="problem">' + |
| 306 '<ul class="effects">' + | 279 '<ul class="effects">' + |
| 307 '<li><a href="http://test-results.appspot.com/dashboards/fla
kiness_dashboard.html#tests=path%2Fto%2Ftest1.html%2Cpath%2Fto%2Ftest2.html%2Cpa
th%2Fto%2Ftest3.html%2Cpath%2Fto%2Ftest4.html">path/to (4 tests)</a></li>' + | 280 '<li><a href="http://test-results.appspot.com/dashboards/fla
kiness_dashboard.html#tests=path%2Fto%2Ftest1.html%2Cpath%2Fto%2Ftest2.html%2Cpa
th%2Fto%2Ftest3.html%2Cpath%2Fto%2Ftest4.html">path/to (4 tests)</a></li>' + |
| 308 '<li><a href="http://test-results.appspot.com/dashboards/fla
kiness_dashboard.html#tests=path%2Fanother%2Ftest.html">path/another/test.html</
a></li>' + | 281 '<li><a href="http://test-results.appspot.com/dashboards/fla
kiness_dashboard.html#tests=path%2Fanother%2Ftest.html">path/another/test.html</
a></li>' + |
| 309 '</ul>' + | 282 '</ul>' + |
| 310 '<ul class="actions">' + | 283 '<ul class="actions">' + |
| 311 '<li><button class="action default" title="Examine these fai
lures in detail.">Examine</button></li>' + | 284 '<li><button class="action default" title="Examine these fai
lures in detail.">Examine</button></li>' + |
| 312 '<li><button class="action">Rebaseline</button></li>' + | 285 '<li><button class="action">Rebaseline</button></li>' + |
| 313 '</ul>' + | 286 '</ul>' + |
| 314 '</div>' + | 287 '</div>' + |
| 315 '<ul class="causes"></ul>' + | 288 '<ul class="causes"></ul>' + |
| 316 '</div>'); | 289 '</div>'); |
| 317 }); | 290 }); |
| 318 | 291 |
| 319 test('BuildersFailing', 1, function() { | 292 test('BuildersFailing', 1, function() { |
| 320 var builderFailing = new ui.notifications.BuildersFailing('Disasterifying'); | 293 var builderFailing = new ui.notifications.BuildersFailing('Disasterifying'); |
| 321 builderFailing.setFailingBuilders({'WebKit Linux': ['compile'], 'WebKit Win7
': ['webkit_tests', 'update']}); | 294 builderFailing.setFailingBuilders({'WebKit Linux': ['compile'], 'WebKit Win7
': ['webkit_tests', 'update']}); |
| 322 equal(builderFailing.innerHTML, | 295 equal(builderFailing.innerHTML, |
| 323 '<div class="how">' + | 296 '<div class="how">' + |
| 324 '<time class="relative"></time>' + | |
| 325 '</div>' + | 297 '</div>' + |
| 326 '<div class="what">' + | 298 '<div class="what">' + |
| 327 '<div class="problem">Disasterifying:' + | 299 '<div class="problem">Disasterifying:' + |
| 328 '<ul class="effects">' + | 300 '<ul class="effects">' + |
| 329 '<li class="builder"><a class="failing-builder" href="http:/
/build.chromium.org/p/chromium.webkit/waterfall?builder=WebKit+Linux"><span clas
s="version">lucid</span><span class="architecture">64-bit</span><span class="fai
lures"> compile</span></a></li>' + | 301 '<li class="builder"><a class="failing-builder" href="http:/
/build.chromium.org/p/chromium.webkit/waterfall?builder=WebKit+Linux"><span clas
s="version">lucid</span><span class="architecture">64-bit</span><span class="fai
lures"> compile</span></a></li>' + |
| 330 '<li class="builder"><a class="failing-builder" href="http:/
/build.chromium.org/p/chromium.webkit/waterfall?builder=WebKit+Win7"><span class
="version">win7</span><span class="failures"> webkit_tests, update</span></a></l
i>' + | 302 '<li class="builder"><a class="failing-builder" href="http:/
/build.chromium.org/p/chromium.webkit/waterfall?builder=WebKit+Win7"><span class
="version">win7</span><span class="failures"> webkit_tests, update</span></a></l
i>' + |
| 331 '</ul>' + | 303 '</ul>' + |
| 332 '</div>' + | 304 '</div>' + |
| 333 '<ul class="causes"></ul>' + | 305 '<ul class="causes"></ul>' + |
| 334 '</div>'); | 306 '</div>'); |
| 335 }); | 307 }); |
| 336 | 308 |
| 337 }()); | 309 }()); |
| OLD | NEW |