Upstream version 10.38.222.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Tools / TestResultServer / static-dashboards / load_failures_unittests.js
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.
4
5 module('loadfailures');
6
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: []}),
10     });
11
12     equal(html, '<tr class="builder">' +
13         '<td>MockBuilder' +
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>' +
16     '</tr>');
17 });
18
19 test('html', 5, function() {
20     var mockBuilderMaster = new builders.BuilderMaster({name: 'MockMaster', url_name: 'mock.master', tests: [], groups: []}),
21     var failureData = {
22         '@ToT Chromium': {
23             failingBuilders: {
24                 'MockTestType': ['MockFailingBuilder'],
25             },
26             staleBuilders: {
27                 'MockTestType': ['MockStaleBuilder'],
28             },
29             testTypesWithNoSuccessfullLoads: [ 'MockTestType' ],
30             builderToMaster: {
31                 'MockFailingBuilder': mockBuilderMaster,
32                 'MockStaleBuilder': mockBuilderMaster,
33             },
34         },
35         '@ToT Blink': {
36             failingBuilders: {
37                 'MockTestType': ['MockFailingBuilder'],
38             },
39             staleBuilders: {},
40             testTypesWithNoSuccessfullLoads: [],
41             builderToMaster: {
42                 'MockFailingBuilder': mockBuilderMaster,
43             },
44         },
45     }
46
47     var container = document.createElement('div');
48     container.innerHTML = loadfailures._html(failureData);
49
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');
52
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.');
56
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.');
59 });