| OLD | NEW |
| (Empty) |
| 1 /* | |
| 2 * Copyright (C) 2011 Google Inc. All rights reserved. | |
| 3 * | |
| 4 * Redistribution and use in source and binary forms, with or without | |
| 5 * modification, are permitted provided that the following conditions | |
| 6 * are met: | |
| 7 * 1. Redistributions of source code must retain the above copyright | |
| 8 * notice, this list of conditions and the following disclaimer. | |
| 9 * 2. Redistributions in binary form must reproduce the above copyright | |
| 10 * notice, this list of conditions and the following disclaimer in the | |
| 11 * documentation and/or other materials provided with the distribution. | |
| 12 * | |
| 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, | |
| 15 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR | |
| 16 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS | |
| 17 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | |
| 18 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | |
| 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 | |
| 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 | |
| 23 * THE POSSIBILITY OF SUCH DAMAGE. | |
| 24 */ | |
| 25 | |
| 26 (function () { | |
| 27 | |
| 28 module('ui.notifications'); | |
| 29 | |
| 30 test('Notification', 3, function() { | |
| 31 var notification = new ui.notifications.Notification(); | |
| 32 equal(notification.tagName, 'LI'); | |
| 33 equal(notification.innerHTML, '<div class="how"></div><div class="what"></di
v>'); | |
| 34 // FIXME: Really need to figure out how to mock/test animated removal. | |
| 35 ok(notification.dismiss); | |
| 36 }); | |
| 37 | |
| 38 test('Stream', 7, function() { | |
| 39 var stream = new ui.notifications.Stream(); | |
| 40 equal(stream.tagName, 'OL'); | |
| 41 equal(stream.className, 'notifications'); | |
| 42 equal(stream.childElementCount, 0); | |
| 43 | |
| 44 var notification = new ui.notifications.Info('garden-o-matic is '); | |
| 45 stream.add(notification); | |
| 46 equal(stream.childElementCount, 1); | |
| 47 equal(stream.textContent, 'garden-o-matic is '); | |
| 48 | |
| 49 notification = new ui.notifications.Info('awesome!'); | |
| 50 stream.add(notification); | |
| 51 equal(stream.childElementCount, 2); | |
| 52 equal(stream.textContent, 'garden-o-matic is awesome!'); | |
| 53 }); | |
| 54 | |
| 55 test('Info', 2, function() { | |
| 56 var info = new ui.notifications.Info('info'); | |
| 57 equal(info.tagName, 'LI'); | |
| 58 equal(info.innerHTML, '<div class="how"></div><div class="what">info</div>')
; | |
| 59 }); | |
| 60 | |
| 61 test('FailingTestGroup', 2, function() { | |
| 62 var failingTest = new ui.notifications.FailingTestGroup('test', ['test.html'
]); | |
| 63 equal(failingTest.tagName, 'LI'); | |
| 64 equal(failingTest.innerHTML, '<a href="http://test-results.appspot.com/dashb
oards/flakiness_dashboard.html#tests=test.html">test</a>'); | |
| 65 }); | |
| 66 | |
| 67 test('SuspiciousCommit', 2, function() { | |
| 68 var suspiciousCommit = new ui.notifications.SuspiciousCommit({revision: 1, t
itle: "title", author: "author", reviewer: "reviewer"}); | |
| 69 equal(suspiciousCommit.tagName, 'LI'); | |
| 70 equal(suspiciousCommit.innerHTML, | |
| 71 '<div class="description">' + | |
| 72 '<a href="http://src.chromium.org/viewvc/blink?view=rev&revision
=1">1</a>' + | |
| 73 '<span>' + | |
| 74 '<span class="title">title</span>' + | |
| 75 '<span class="author">author</span>' + | |
| 76 '<span class="reviewer">reviewer</span>' + | |
| 77 '</span>' + | |
| 78 '</div>'); | |
| 79 }); | |
| 80 | |
| 81 test('FailingTestsSummary', 10, function() { | |
| 82 var testFailures = new ui.notifications.FailingTestsSummary(); | |
| 83 equal(testFailures.tagName, 'LI'); | |
| 84 equal(testFailures.innerHTML, | |
| 85 '<div class="how">' + | |
| 86 '<table class="failures">' + | |
| 87 '<thead><tr><td>type</td><td>release</td><td>debug</td></tr></th
ead>' + | |
| 88 '<tbody><tr class="BUILDING" style="display: none;"><td><span>BU
ILDING</span></td><td></td><td></td></tr></tbody>' + | |
| 89 '</table>' + | |
| 90 '</div>' + | |
| 91 '<div class="what">' + | |
| 92 '<div class="problem">' + | |
| 93 '<ul class="effects"></ul>' + | |
| 94 '<ul class="actions">' + | |
| 95 '<li><button class="action default" title="Examine these fai
lures in detail.">Examine</button></li>' + | |
| 96 '</ul>' + | |
| 97 '</div>' + | |
| 98 '<ul class="causes"></ul>' + | |
| 99 '</div>'); | |
| 100 testFailures.addFailureAnalysis({testName: 'test', resultNodesByBuilder: {}}
); | |
| 101 equal(testFailures.innerHTML, | |
| 102 '<div class="how">' + | |
| 103 '<table class="failures">' + | |
| 104 '<thead><tr><td>type</td><td>release</td><td>debug</td></tr></th
ead>' + | |
| 105 '<tbody><tr class="BUILDING" style="display: none;"><td><span>BU
ILDING</span></td><td></td><td></td></tr></tbody>' + | |
| 106 '</table>' + | |
| 107 '</div>' + | |
| 108 '<div class="what">' + | |
| 109 '<div class="problem">' + | |
| 110 '<ul class="effects">' + | |
| 111 '<li><a href="http://test-results.appspot.com/dashboards/fla
kiness_dashboard.html#tests=test">test</a></li>' + | |
| 112 '</ul>' + | |
| 113 '<ul class="actions">' + | |
| 114 '<li><button class="action default" title="Examine these fai
lures in detail.">Examine</button></li>' + | |
| 115 '</ul>' + | |
| 116 '</div>' + | |
| 117 '<ul class="causes"></ul>' + | |
| 118 '</div>'); | |
| 119 ok(testFailures.containsFailureAnalysis({testName: 'test'})); | |
| 120 ok(!testFailures.containsFailureAnalysis({testName: 'foo'})); | |
| 121 testFailures.addFailureAnalysis({testName: 'test'}); | |
| 122 equal(testFailures.innerHTML, | |
| 123 '<div class="how">' + | |
| 124 '<table class="failures">' + | |
| 125 '<thead><tr><td>type</td><td>release</td><td>debug</td></tr></th
ead>' + | |
| 126 '<tbody><tr class="BUILDING" style="display: none;"><td><span>BU
ILDING</span></td><td></td><td></td></tr></tbody>' + | |
| 127 '</table>' + | |
| 128 '</div>' + | |
| 129 '<div class="what">' + | |
| 130 '<div class="problem">' + | |
| 131 '<ul class="effects">' + | |
| 132 '<li><a href="http://test-results.appspot.com/dashboards/fla
kiness_dashboard.html#tests=test">test</a></li>' + | |
| 133 '</ul>' + | |
| 134 '<ul class="actions">' + | |
| 135 '<li><button class="action default" title="Examine these fai
lures in detail.">Examine</button></li>' + | |
| 136 '</ul>' + | |
| 137 '</div>' + | |
| 138 '<ul class="causes"></ul>' + | |
| 139 '</div>'); | |
| 140 deepEqual(testFailures.testNameList(), ['test']); | |
| 141 var time = new Date(); | |
| 142 time.setMinutes(time.getMinutes() - 10); | |
| 143 testFailures.addCommitData({revision: 1, time: time, title: "title", author:
"author", reviewer: "reviewer"}); | |
| 144 equal(testFailures.innerHTML, | |
| 145 '<div class="how">' + | |
| 146 '<table class="failures">' + | |
| 147 '<thead><tr><td>type</td><td>release</td><td>debug</td></tr></th
ead>' + | |
| 148 '<tbody><tr class="BUILDING" style="display: none;"><td><span>BU
ILDING</span></td><td></td><td></td></tr></tbody>' + | |
| 149 '</table>' + | |
| 150 '</div>' + | |
| 151 '<div class="what">' + | |
| 152 '<div class="problem">' + | |
| 153 '<ul class="effects">' + | |
| 154 '<li><a href="http://test-results.appspot.com/dashboards/fla
kiness_dashboard.html#tests=test">test</a></li>' + | |
| 155 '</ul>' + | |
| 156 '<ul class="actions">' + | |
| 157 '<li><button class="action default" title="Examine these fai
lures in detail.">Examine</button></li>' + | |
| 158 '</ul>' + | |
| 159 '</div>' + | |
| 160 '<ul class="causes">' + | |
| 161 '<li>' + | |
| 162 '<div class="description">' + | |
| 163 '<a href="http://src.chromium.org/viewvc/blink?view=rev&
amp;revision=1">1</a>' + | |
| 164 '<span>' + | |
| 165 '<span class="title">title</span>' + | |
| 166 '<span class="author">author</span>' + | |
| 167 '<span class="reviewer">reviewer</span>' + | |
| 168 '</span>' + | |
| 169 '</div>' + | |
| 170 '</li>' + | |
| 171 '</ul>' + | |
| 172 '</div>'); | |
| 173 | |
| 174 testFailures.addFailureAnalysis({testName: 'foo', resultNodesByBuilder: {'We
bKit Linux (dbg)': { actual: 'TEXT'}}}); | |
| 175 equal(testFailures.innerHTML, | |
| 176 '<div class="how">' + | |
| 177 '<table class="failures">' + | |
| 178 '<thead><tr><td>type</td><td>release</td><td>debug</td></tr></th
ead>' + | |
| 179 '<tbody>' + | |
| 180 '<tr class="TEXT">' + | |
| 181 '<td><span>TEXT</span></td>' + | |
| 182 '<td></td>' + | |
| 183 '<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>' + | |
| 184 '</tr>' + | |
| 185 '<tr class="BUILDING" style="display: none;"><td><span>BUILD
ING</span></td><td></td><td></td></tr>' + | |
| 186 '</tbody>' + | |
| 187 '</table>' + | |
| 188 '</div>' + | |
| 189 '<div class="what">' + | |
| 190 '<div class="problem">' + | |
| 191 '<ul class="effects">' + | |
| 192 '<li><a href="http://test-results.appspot.com/dashboards/fla
kiness_dashboard.html#tests=foo">foo</a></li>' + | |
| 193 '<li><a href="http://test-results.appspot.com/dashboards/fla
kiness_dashboard.html#tests=test">test</a></li>' + | |
| 194 '</ul>' + | |
| 195 '<ul class="actions">' + | |
| 196 '<li><button class="action default" title="Examine these fai
lures in detail.">Examine</button></li>' + | |
| 197 '</ul>' + | |
| 198 '</div>' + | |
| 199 '<ul class="causes">' + | |
| 200 '<li>' + | |
| 201 '<div class="description">' + | |
| 202 '<a href="http://src.chromium.org/viewvc/blink?view=rev&
amp;revision=1">1</a>' + | |
| 203 '<span>' + | |
| 204 '<span class="title">title</span>' + | |
| 205 '<span class="author">author</span>' + | |
| 206 '<span class="reviewer">reviewer</span>' + | |
| 207 '</span>' + | |
| 208 '</div>' + | |
| 209 '</li>' + | |
| 210 '</ul>' + | |
| 211 '</div>'); | |
| 212 | |
| 213 testFailures.updateBuilderResults({'WebKit Mac10.6': { actual: 'BUILDING'}})
; | |
| 214 equal(testFailures.innerHTML, | |
| 215 '<div class="how">' + | |
| 216 '<table class="failures">' + | |
| 217 '<thead><tr><td>type</td><td>release</td><td>debug</td></tr></th
ead>' + | |
| 218 '<tbody>' + | |
| 219 '<tr class="TEXT">' + | |
| 220 '<td><span>TEXT</span></td>' + | |
| 221 '<td></td>' + | |
| 222 '<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>' + | |
| 223 '</tr>' + | |
| 224 '<tr class="BUILDING">' + | |
| 225 '<td><span>BUILDING</span></td>' + | |
| 226 '<td><a class="failing-builder" href="http://build.chrom
ium.org/p/chromium.webkit/waterfall?builder=WebKit+Mac10.6"><span class="version
">snowleopard</span></a></td>' + | |
| 227 '<td></td>' + | |
| 228 '</tr>' + | |
| 229 '</tbody>' + | |
| 230 '</table>' + | |
| 231 '</div>' + | |
| 232 '<div class="what">' + | |
| 233 '<div class="problem">' + | |
| 234 '<ul class="effects">' + | |
| 235 '<li><a href="http://test-results.appspot.com/dashboards/fla
kiness_dashboard.html#tests=foo">foo</a></li>' + | |
| 236 '<li><a href="http://test-results.appspot.com/dashboards/fla
kiness_dashboard.html#tests=test">test</a></li>' + | |
| 237 '</ul>' + | |
| 238 '<ul class="actions">' + | |
| 239 '<li><button class="action default" title="Examine these fai
lures in detail.">Examine</button></li>' + | |
| 240 '</ul>' + | |
| 241 '</div>' + | |
| 242 '<ul class="causes">' + | |
| 243 '<li>' + | |
| 244 '<div class="description">' + | |
| 245 '<a href="http://src.chromium.org/viewvc/blink?view=rev&
amp;revision=1">1</a>' + | |
| 246 '<span>' + | |
| 247 '<span class="title">title</span>' + | |
| 248 '<span class="author">author</span>' + | |
| 249 '<span class="reviewer">reviewer</span>' + | |
| 250 '</span>' + | |
| 251 '</div>' + | |
| 252 '</li>' + | |
| 253 '</ul>' + | |
| 254 '</div>'); | |
| 255 }); | |
| 256 | |
| 257 test('FailingTestsSummary (grouping)', 1, function() { | |
| 258 var testFailures = new ui.notifications.FailingTestsSummary(); | |
| 259 testFailures.addFailureAnalysis({testName: 'path/to/test1.html', resultNodes
ByBuilder: {}}); | |
| 260 testFailures.addFailureAnalysis({testName: 'path/to/test2.html', resultNodes
ByBuilder: {}}); | |
| 261 testFailures.addFailureAnalysis({testName: 'path/to/test3.html', resultNodes
ByBuilder: {}}); | |
| 262 testFailures.addFailureAnalysis({testName: 'path/to/test4.html', resultNodes
ByBuilder: {}}); | |
| 263 testFailures.addFailureAnalysis({testName: 'path/another/test.html', resultN
odesByBuilder: {}}); | |
| 264 equal(testFailures.innerHTML, | |
| 265 '<div class="how">' + | |
| 266 '<table class="failures">' + | |
| 267 '<thead><tr><td>type</td><td>release</td><td>debug</td></tr></th
ead>' + | |
| 268 '<tbody><tr class="BUILDING" style="display: none;"><td><span>BU
ILDING</span></td><td></td><td></td></tr></tbody>' + | |
| 269 '</table>' + | |
| 270 '</div>' + | |
| 271 '<div class="what">' + | |
| 272 '<div class="problem">' + | |
| 273 '<ul class="effects">' + | |
| 274 '<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>' + | |
| 275 '<li><a href="http://test-results.appspot.com/dashboards/fla
kiness_dashboard.html#tests=path%2Fanother%2Ftest.html">path/another/test.html</
a></li>' + | |
| 276 '</ul>' + | |
| 277 '<ul class="actions">' + | |
| 278 '<li><button class="action default" title="Examine these fai
lures in detail.">Examine</button></li>' + | |
| 279 '</ul>' + | |
| 280 '</div>' + | |
| 281 '<ul class="causes"></ul>' + | |
| 282 '</div>'); | |
| 283 }); | |
| 284 | |
| 285 test('BuildersFailing', 1, function() { | |
| 286 var builderFailing = new ui.notifications.BuildersFailing('Disasterifying'); | |
| 287 builderFailing.setFailingBuilders({'WebKit Linux': ['compile'], 'WebKit Win7
': ['webkit_tests', 'update']}); | |
| 288 equal(builderFailing.innerHTML, | |
| 289 '<div class="how">' + | |
| 290 '</div>' + | |
| 291 '<div class="what">' + | |
| 292 '<div class="problem">Disasterifying:' + | |
| 293 '<ul class="effects">' + | |
| 294 '<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>' + | |
| 295 '<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>' + | |
| 296 '</ul>' + | |
| 297 '</div>' + | |
| 298 '<ul class="causes"></ul>' + | |
| 299 '</div>'); | |
| 300 }); | |
| 301 | |
| 302 }()); | |
| OLD | NEW |