Upstream version 5.34.92.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Tools / GardeningServer / scripts / controllers_unittests.js
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 var kExampleResultsByBuilder = {
29     "Mock Builder": unittest.kExampleResultsJSON,
30 };
31
32 module("controllers");
33
34 test("UnexpectedFailures", 3, function() {
35     var simulator = new NetworkSimulator();
36
37     simulator.probe = function() {
38     };
39
40     simulator.runTest(function() {
41         var mockView = {};
42         var mockState = {
43             resultsByBuilder: kExampleResultsByBuilder
44         };
45         var expectedResultsByTest = null;
46         var mockDelegate = {
47             showResults: function(resultsView)
48             {
49                 deepEqual(resultsView._resultsByTest, expectedResultsByTest);
50             }
51         }
52         var controller = controllers.UnexpectedFailures(mockState, mockView, mockDelegate);
53
54         var testNameList = null;
55         var mockFailures = {
56             testNameList: function() { return testNameList; }
57         };
58
59         testNameList = ["scrollbars/custom-scrollbar-with-incomplete-style.html"];
60         expectedResultsByTest = {};
61         controller.onExamine(mockFailures);
62
63         testNameList = ["userscripts/another-test.html"];
64         expectedResultsByTest = {
65           "userscripts/another-test.html": {
66             "Mock Builder": {
67               "expected": "PASS",
68               "actual": "TEXT",
69               "is_unexpected": true,
70             }
71           }
72         };
73         controller.onExamine(mockFailures);
74     });
75 });
76
77 test("controllers.FailingBuilders", 3, function() {
78     var MockView = base.extends('div', {
79         add: function(node) {
80             this.appendChild(node);
81         }
82     })
83     var view = new MockView();
84     var failingBuilders = new controllers.FailingBuilders(view, 'dummy message');
85     ok(!failingBuilders.hasFailures());
86
87     failingBuilders.update({'DummyBuilder': ['webkit_tests']});
88     ok(failingBuilders.hasFailures());
89
90     equal(view.outerHTML, '<div>' +
91         '<li style="opacity: 0;">' +
92             '<div class="how"><time class="relative"></time></div>' +
93             '<div class="what">' +
94                 '<div class="problem">dummy message:' +
95                     '<ul class="effects">' +
96                         '<li class="builder"><a class="failing-builder" href="http://build.chromium.org/p/chromium.webkit/waterfall?builder=DummyBuilder">' +
97                             '<span class="version">DummyBuilder</span><span class="failures"> webkit_tests</span></a>' +
98                         '</li>' +
99                     '</ul>' +
100                 '</div>' +
101                 '<ul class="causes"></ul>' +
102             '</div>' +
103         '</li>' +
104     '</div>')
105 });
106
107 })();