1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 module('loadfailures');
7 test('htmlForBuilder', 1, function() {
8 var html = loadfailures._htmlForBuilder('MockBuilder', 'MockTestType', {
9 'MockBuilder': new builders.BuilderMaster({name: 'MockMaster', url_name: 'mock.master', tests: [], groups: []}),
12 equal(html, '<tr class="builder">' +
14 '<td><a href="http://test-results.appspot.com/testfile?testtype=MockTestType&builder=MockBuilder&master=MockMaster">uploaded results</a>' +
15 '<td><a href="http://mockbasepath/builders/MockBuilder">buildbot</a>' +
19 test('html', 5, function() {
20 var mockBuilderMaster = new builders.BuilderMaster({name: 'MockMaster', url_name: 'mock.master', tests: [], groups: []}),
24 'MockTestType': ['MockFailingBuilder'],
27 'MockTestType': ['MockStaleBuilder'],
29 testTypesWithNoSuccessfullLoads: [ 'MockTestType' ],
31 'MockFailingBuilder': mockBuilderMaster,
32 'MockStaleBuilder': mockBuilderMaster,
37 'MockTestType': ['MockFailingBuilder'],
40 testTypesWithNoSuccessfullLoads: [],
42 'MockFailingBuilder': mockBuilderMaster,
47 var container = document.createElement('div');
48 container.innerHTML = loadfailures._html(failureData);
50 equal(container.querySelectorAll('h1').length, 2, 'There should be two group headers');
51 equal(container.querySelectorAll('.builder').length, 3, 'There should be 3 builders');
53 var firstFailingBuilder = container.querySelector('table').querySelector('tr:nth-child(2) > td:nth-child(2)');
54 equal(firstFailingBuilder.querySelector('b').innerHTML, 'No builders with up to date results.');
55 equal(firstFailingBuilder.querySelectorAll('.builder').length, 1, 'There should be one failing builder in the first group.');
57 var firstStaleBuilder = container.querySelector('table').querySelector('tr:nth-child(2) > td:nth-child(3)');
58 equal(firstFailingBuilder.querySelectorAll('.builder').length, 1, 'There should be one stale builder in the first group.');