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 |