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"); | |
29 | |
30 var kExampleResultsByTest = { | |
31 "scrollbars/custom-scrollbar-with-incomplete-style.html": { | |
32 "Mock Builder": { | |
33 "expected": "IMAGE", | |
34 "actual": "CRASH" | |
35 }, | |
36 "Mock Linux": { | |
37 "expected": "TEXT", | |
38 "actual": "CRASH" | |
39 } | |
40 }, | |
41 "userscripts/another-test.html": { | |
42 "Mock Builder": { | |
43 "expected": "PASS", | |
44 "actual": "TEXT" | |
45 } | |
46 } | |
47 } | |
48 | |
49 test("ui.onebar", 3, function() { | |
50 if (window.location.hash) { | |
51 window.location.hash = ''; | |
52 } | |
53 | |
54 onebar = new ui.onebar(); | |
55 onebar.attach(); | |
56 equal(onebar.innerHTML, | |
57 '<div><select id="platform-picker"><option>Apple</option><option>Chromiu
m</option><option>GTK</option><option>Qt</option></select></div>' + | |
58 '<ul class="ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-hea
der ui-corner-all">' + | |
59 '<li class="ui-state-default ui-corner-top ui-tabs-selected ui-state
-active"><a href="#unexpected">Unexpected Failures</a></li>' + | |
60 '<li class="ui-state-default ui-corner-top"><a href="#expected">Expe
cted Failures</a></li>' + | |
61 '<li class="ui-state-default ui-corner-top ui-state-disabled"><a hre
f="#results">Results</a></li>' + | |
62 '<li class="ui-state-default ui-corner-top"><a href="#perf">perf</a>
</li>' + | |
63 '</ul>' + | |
64 '<div id="unexpected" class="ui-tabs-panel ui-widget-content ui-corner-b
ottom"></div>' + | |
65 '<div id="expected" class="ui-tabs-panel ui-widget-content ui-corner-bot
tom ui-tabs-hide"></div>' + | |
66 '<div id="results" class="ui-tabs-panel ui-widget-content ui-corner-bott
om ui-tabs-hide"></div>' + | |
67 '<div id="perf" class="ui-tabs-panel ui-widget-content ui-corner-bottom
ui-tabs-hide"></div>'); | |
68 | |
69 onebar.select('expected'); | |
70 equal(window.location.hash, '#expected'); | |
71 onebar.select('unexpected'); | |
72 equal(window.location.hash, '#unexpected'); | |
73 | |
74 $(onebar).detach(); | |
75 }); | |
76 | |
77 test("results.ResultsGrid", 1, function() { | |
78 var grid = new ui.results.ResultsGrid() | |
79 grid.addResults([ | |
80 'http://example.com/layout-test-results/foo-bar-diff.txt', | |
81 'http://example.com/layout-test-results/foo-bar-expected.png', | |
82 'http://example.com/layout-test-results/foo-bar-actual.png', | |
83 'http://example.com/layout-test-results/foo-bar-diff.png', | |
84 ]); | |
85 equal(grid.innerHTML, | |
86 '<table class="comparison">' + | |
87 '<thead>' + | |
88 '<tr>' + | |
89 '<th>Expected</th>' + | |
90 '<th>Actual</th>' + | |
91 '<th>Diff</th>' + | |
92 '</tr>' + | |
93 '</thead>' + | |
94 '<tbody>' + | |
95 '<tr>' + | |
96 '<td class="expected result-container"><img class="image-res
ult" src="http://example.com/layout-test-results/foo-bar-expected.png"></td>' + | |
97 '<td class="actual result-container"><img class="image-resul
t" src="http://example.com/layout-test-results/foo-bar-actual.png"></td>' + | |
98 '<td class="diff result-container"><img class="image-result"
src="http://example.com/layout-test-results/foo-bar-diff.png"></td>' + | |
99 '</tr>' + | |
100 '</tbody>' + | |
101 '</table>' + | |
102 '<table class="comparison">' + | |
103 '<thead>' + | |
104 '<tr>' + | |
105 '<th>Expected</th>' + | |
106 '<th>Actual</th>' + | |
107 '<th>Diff</th>' + | |
108 '</tr>' + | |
109 '</thead>' + | |
110 '<tbody>' + | |
111 '<tr>' + | |
112 '<td class="expected result-container"></td>' + | |
113 '<td class="actual result-container"></td>' + | |
114 '<td class="diff result-container"><iframe class="text-resul
t" src="http://example.com/layout-test-results/foo-bar-diff.txt"></iframe></td>'
+ | |
115 '</tr>' + | |
116 '</tbody>' + | |
117 '</table>'); | |
118 }); | |
119 | |
120 test("results.ResultsGrid (crashlog)", 1, function() { | |
121 var grid = new ui.results.ResultsGrid() | |
122 grid.addResults(['http://example.com/layout-test-results/foo-bar-crash-log.t
xt']); | |
123 equal(grid.innerHTML, '<iframe class="text-result" src="http://example.com/l
ayout-test-results/foo-bar-crash-log.txt"></iframe>'); | |
124 }); | |
125 | |
126 test("results.ResultsGrid (empty)", 1, function() { | |
127 var grid = new ui.results.ResultsGrid() | |
128 grid.addResults([]); | |
129 equal(grid.innerHTML, 'No results to display.'); | |
130 }); | |
131 | |
132 test("time", 6, function() { | |
133 var time = new ui.RelativeTime(); | |
134 equal(time.tagName, 'TIME'); | |
135 equal(time.className, 'relative'); | |
136 deepEqual(Object.getOwnPropertyNames(time.__proto__).sort(), [ | |
137 'date', | |
138 'init', | |
139 'setDate', | |
140 'update', | |
141 ]); | |
142 equal(time.outerHTML, '<time class="relative"></time>'); | |
143 var tenMinutesAgo = new Date(); | |
144 tenMinutesAgo.setMinutes(tenMinutesAgo.getMinutes() - 10); | |
145 time.setDate(tenMinutesAgo); | |
146 equal(time.outerHTML, '<time class="relative">10 minutes ago</time>'); | |
147 equal(time.date().getTime(), tenMinutesAgo.getTime()); | |
148 }); | |
149 | |
150 test("StatusArea", 3, function() { | |
151 var statusArea = new ui.StatusArea(); | |
152 var id = statusArea.newId(); | |
153 statusArea.addMessage(id, 'First Message'); | |
154 statusArea.addMessage(id, 'Second Message'); | |
155 equal(statusArea.outerHTML, | |
156 '<div class="status processing" style="visibility: visible; ">' + | |
157 '<ul class="actions"><li><button class="action">Close</button></li><
/ul>' + | |
158 '<progress class="process-text">Processing...</progress>' + | |
159 '<div id="status-content-1" class="status-content">' + | |
160 '<div class="message">First Message</div>' + | |
161 '<div class="message">Second Message</div>' + | |
162 '</div>' + | |
163 '</div>'); | |
164 | |
165 var secondStatusArea = new ui.StatusArea(); | |
166 var secondId = secondStatusArea.newId(); | |
167 secondStatusArea.addMessage(secondId, 'First Message second id'); | |
168 | |
169 equal(statusArea.outerHTML, | |
170 '<div class="status processing" style="visibility: visible; ">' + | |
171 '<ul class="actions"><li><button class="action">Close</button></li><
/ul>' + | |
172 '<progress class="process-text">Processing...</progress>' + | |
173 '<div id="status-content-1" class="status-content">' + | |
174 '<div class="message">First Message</div>' + | |
175 '<div class="message">Second Message</div>' + | |
176 '</div>' + | |
177 '<div id="status-content-2" class="status-content">' + | |
178 '<div class="message">First Message second id</div>' + | |
179 '</div>' + | |
180 '</div>'); | |
181 | |
182 statusArea.addFinalMessage(id, 'Final Message 1'); | |
183 statusArea.addFinalMessage(secondId, 'Final Message 2'); | |
184 | |
185 equal(statusArea.outerHTML, | |
186 '<div class="status" style="visibility: visible; ">' + | |
187 '<ul class="actions"><li><button class="action">Close</button></li><
/ul>' + | |
188 '<progress class="process-text">Processing...</progress>' + | |
189 '<div id="status-content-1" class="status-content">' + | |
190 '<div class="message">First Message</div>' + | |
191 '<div class="message">Second Message</div>' + | |
192 '<div class="message">Final Message 1</div>' + | |
193 '</div>' + | |
194 '<div id="status-content-2" class="status-content">' + | |
195 '<div class="message">First Message second id</div>' + | |
196 '<div class="message">Final Message 2</div>' + | |
197 '</div>' + | |
198 '</div>'); | |
199 | |
200 statusArea.close(); | |
201 }); | |
202 | |
203 })(); | |
OLD | NEW |