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 |