2 * Copyright (C) 2011 Google Inc. All rights reserved.
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
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.
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.
28 module('ui.failures');
30 test('Builder', 6, function() {
32 configuration = new ui.failures.Builder("WebKit Linux", ["update", "webkit_tests"]);
33 deepEqual(Object.getOwnPropertyNames(configuration.__proto__).sort(), [
38 equal(configuration.outerHTML, '<a class="failing-builder" href="http://build.chromium.org/p/chromium.webkit/waterfall?builder=WebKit+Linux"><span class="version">lucid</span><span class="architecture">64-bit</span><span class="failures"> update, webkit_tests</span></a>');
39 configuration = new ui.failures.Builder("WebKit XP");
40 equal(configuration.outerHTML, '<a class="failing-builder" href="http://build.chromium.org/p/chromium.webkit/waterfall?builder=WebKit+XP"><span class="version">xp</span></a>');
41 configuration._addSpan('foo', 'bar');
42 equal(configuration.outerHTML, '<a class="failing-builder" href="http://build.chromium.org/p/chromium.webkit/waterfall?builder=WebKit+XP"><span class="version">xp</span><span class="foo">bar</span></a>');
43 ok(configuration.equals({version: 'xp'}));
44 ok(!configuration.equals({version: 'lucid', is64bit: true}));
47 test('FailureGrid', 10, function() {
48 var grid = new ui.failures.FailureGrid();
49 deepEqual(Object.getOwnPropertyNames(grid.__proto__).sort(), [
56 equal(grid.outerHTML, '<table class="failures">' +
57 '<thead><tr><td>type</td><td>release</td><td>debug</td></tr></thead>' +
58 '<tbody><tr class="BUILDING" style="display: none;"><td><span>BUILDING</span></td><td></td><td></td></tr></tbody>' +
60 var row = grid._rowByResult('TEXT');
61 equal(grid.outerHTML, '<table class="failures">' +
62 '<thead><tr><td>type</td><td>release</td><td>debug</td></tr></thead>' +
65 '<td><span>TEXT</span></td><td></td><td></td>' +
67 '<tr class="BUILDING" style="display: none;"><td><span>BUILDING</span></td><td></td><td></td></tr>' +
70 equal(row.outerHTML, '<tr class="TEXT"><td><span>TEXT</span></td><td></td><td></td></tr>');
72 equal(grid.outerHTML, '<table class="failures">' +
73 '<thead><tr><td>type</td><td>release</td><td>debug</td></tr></thead>' +
76 '<td><span>TEXT</span></td><td></td><td></td>' +
78 '<tr class="BUILDING" style="display: none;"><td><span>BUILDING</span></td><td></td><td></td></tr>' +
82 grid.update({'Atari': {}})
84 grid.update({'WebKit Linux (dbg)': { actual: 'TEXT'}});
85 equal(grid.outerHTML, '<table class="failures">' +
86 '<thead><tr><td>type</td><td>release</td><td>debug</td></tr></thead>' +
89 '<td><span>TEXT</span></td>' +
91 '<td><a class="failing-builder" href="http://build.chromium.org/p/chromium.webkit/waterfall?builder=WebKit+Linux+(dbg)"><span class="version">lucid</span><span class="architecture">64-bit</span></a></td>' +
93 '<tr class="BUILDING" style="display: none;"><td><span>BUILDING</span></td><td></td><td></td></tr>' +
96 grid.update({'WebKit Mac10.6': { actual: 'IMAGE+TEXT'}});
97 equal(grid.outerHTML, '<table class="failures">' +
98 '<thead><tr><td>type</td><td>release</td><td>debug</td></tr></thead>' +
100 '<tr class="IMAGE+TEXT">' +
101 '<td><span>IMAGE+TEXT</span></td>' +
102 '<td><a class="failing-builder" href="http://build.chromium.org/p/chromium.webkit/waterfall?builder=WebKit+Mac10.6"><span class="version">snowleopard</span></a></td>' +
105 '<tr class="TEXT">' +
106 '<td><span>TEXT</span></td>' +
108 '<td><a class="failing-builder" href="http://build.chromium.org/p/chromium.webkit/waterfall?builder=WebKit+Linux+(dbg)"><span class="version">lucid</span><span class="architecture">64-bit</span></a></td>' +
110 '<tr class="BUILDING" style="display: none;"><td><span>BUILDING</span></td><td></td><td></td></tr>' +
113 grid.update({'WebKit Mac10.6': { actual: 'IMAGE+TEXT'}});
114 equal(grid.outerHTML, '<table class="failures">' +
115 '<thead><tr><td>type</td><td>release</td><td>debug</td></tr></thead>' +
117 '<tr class="IMAGE+TEXT">' +
118 '<td><span>IMAGE+TEXT</span></td>' +
119 '<td><a class="failing-builder" href="http://build.chromium.org/p/chromium.webkit/waterfall?builder=WebKit+Mac10.6"><span class="version">snowleopard</span></a></td>' +
122 '<tr class="TEXT">' +
123 '<td><span>TEXT</span></td>' +
125 '<td><a class="failing-builder" href="http://build.chromium.org/p/chromium.webkit/waterfall?builder=WebKit+Linux+(dbg)"><span class="version">lucid</span><span class="architecture">64-bit</span></a></td>' +
127 '<tr class="BUILDING" style="display: none;"><td><span>BUILDING</span></td><td></td><td></td></tr>' +
131 grid.update({'WebKit Linux (dbg)': { actual: 'TEXT'}});
132 equal(grid.outerHTML, '<table class="failures">' +
133 '<thead><tr><td>type</td><td>release</td><td>debug</td></tr></thead>' +
135 '<tr class="TEXT">' +
136 '<td><span>TEXT</span></td>' +
138 '<td><a class="failing-builder" href="http://build.chromium.org/p/chromium.webkit/waterfall?builder=WebKit+Linux+(dbg)"><span class="version">lucid</span><span class="architecture">64-bit</span></a></td>' +
140 '<tr class="BUILDING" style="display: none;"><td><span>BUILDING</span></td><td></td><td></td></tr>' +