Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Tools / GardeningServer / scripts / test / results-tests.html
1 <!--
2 Copyright 2014 The Chromium Authors. All rights reserved.
3 Use of this source code is governed by a BSD-style license that can be
4 found in the LICENSE file.
5 -->
6
7 <link rel="import" href="../../lib/network-simulator.html">
8
9 <script>
10 (function() {
11
12 var assert = chai.assert;
13
14 describe('results script', function() {
15
16   var MockResultsBaseURL = 'https://storage.googleapis.com/chromium-layout-test-archives/Mock_Builder/results/layout-test-results';
17
18   it('should trim extensions', function() {
19     assert.equal(results._trimExtension('xyz'), 'xyz');
20     assert.equal(results._trimExtension('xy.z'), 'xy');
21     assert.equal(results._trimExtension('x.yz'), 'x');
22     assert.equal(results._trimExtension('x.y.z'), 'x.y');
23     assert.equal(results._trimExtension('.xyz'), '');
24     assert.equal(results._trimExtension(''), '');
25   });
26
27   it('should create failure info', function() {
28     var failureInfo = results.failureInfo('userscripts/another-test.html', 'Mock Builder', 'FAIL PASS');
29     assert.deepEqual(failureInfo, {
30         'testName': 'userscripts/another-test.html',
31         'builderName': 'Mock Builder',
32         'failureTypeList': ['FAIL', 'PASS'],
33     });
34   });
35
36   it('should get result kind', function() {
37     assert.equal(results.resultKind('https://example.com/foo-actual.txt'), 'actual');
38     assert.equal(results.resultKind('https://example.com/foo-expected.txt'), 'expected');
39     assert.equal(results.resultKind('https://example.com/foo-diff.txt'), 'diff');
40     assert.equal(results.resultKind('https://example.com/foo.bar-actual.txt'), 'actual');
41     assert.equal(results.resultKind('https://example.com/foo.bar-expected.txt'), 'expected');
42     assert.equal(results.resultKind('https://example.com/foo.bar-diff.txt'), 'diff');
43     assert.equal(results.resultKind('https://example.com/foo-actual.png'), 'actual');
44     assert.equal(results.resultKind('https://example.com/foo-expected.png'), 'expected');
45     assert.equal(results.resultKind('https://example.com/foo-diff.png'), 'diff');
46     assert.equal(results.resultKind('https://example.com/foo-pretty-diff.html'), 'diff');
47     assert.equal(results.resultKind('https://example.com/foo-wdiff.html'), 'diff');
48     assert.equal(results.resultKind('https://example.com/foo-xyz.html'), 'unknown');
49   });
50
51   it('should get result type', function() {
52     assert.equal(results.resultType('https://example.com/foo-actual.txt'), 'text');
53     assert.equal(results.resultType('https://example.com/foo-expected.txt'), 'text');
54     assert.equal(results.resultType('https://example.com/foo-diff.txt'), 'text');
55     assert.equal(results.resultType('https://example.com/foo.bar-actual.txt'), 'text');
56     assert.equal(results.resultType('https://example.com/foo.bar-expected.txt'), 'text');
57     assert.equal(results.resultType('https://example.com/foo.bar-diff.txt'), 'text');
58     assert.equal(results.resultType('https://example.com/foo-actual.png'), 'image');
59     assert.equal(results.resultType('https://example.com/foo-expected.png'), 'image');
60     assert.equal(results.resultType('https://example.com/foo-diff.png'), 'image');
61     assert.equal(results.resultType('https://example.com/foo-pretty-diff.html'), 'text');
62     assert.equal(results.resultType('https://example.com/foo-wdiff.html'), 'text');
63     assert.equal(results.resultType('https://example.com/foo.xyz'), 'text');
64   });
65
66   it('fetchResultsURLS', function(done) {
67     var simulator = new NetworkSimulator(assert, done);
68
69     var probedURLs = [];
70     simulator.probe = function(url) {
71       probedURLs.push(url);
72       if (url.endsWith('.txt'))
73         return Promise.resolve();
74       else if (/taco.+png$/.test(url))
75         return Promise.resolve();
76       else
77         return Promise.reject();
78     };
79     simulator.runTest(function() {
80       return Promise.resolve().then(function() {
81         return results.fetchResultsURLs({
82           'builderName': 'Mock Builder',
83           'testName': 'userscripts/another-test.html',
84           'failureTypeList': ['IMAGE', 'CRASH'],
85         }).then(function(resultURLs) {
86           assert.deepEqual(resultURLs, [
87             MockResultsBaseURL + '/userscripts/another-test-crash-log.txt'
88           ]);
89         });
90       }).then(function() {
91         return results.fetchResultsURLs({
92           'builderName': 'Mock Builder',
93           'testName': 'userscripts/another-test.html',
94           'failureTypeList': ['TIMEOUT'],
95         }).then(function(resultURLs) {
96           assert.deepEqual(resultURLs, []);
97         });
98       }).then(function() {
99         return results.fetchResultsURLs({
100           'builderName': 'Mock Builder',
101           'testName': 'userscripts/taco.html',
102           'failureTypeList': ['IMAGE', 'IMAGE+TEXT'],
103         }).then(function(resultURLs) {
104           assert.deepEqual(resultURLs, [
105             MockResultsBaseURL + '/userscripts/taco-expected.png',
106             MockResultsBaseURL + '/userscripts/taco-actual.png',
107             MockResultsBaseURL + '/userscripts/taco-diff.png',
108             MockResultsBaseURL + '/userscripts/taco-expected.txt',
109             MockResultsBaseURL + '/userscripts/taco-actual.txt',
110             MockResultsBaseURL + '/userscripts/taco-diff.txt',
111           ]);
112         });
113       }).then(function() {
114         return results.fetchResultsURLs({
115           'builderName': 'Mock Builder',
116           'testName': 'userscripts/another-test.html',
117           'failureTypeList': ['LEAK'],
118         }).then(function(resultURLs) {
119           assert.deepEqual(resultURLs, [
120             MockResultsBaseURL + '/userscripts/another-test-leak-log.txt'
121           ]);
122         });
123       }).then(function() {
124         assert.deepEqual(probedURLs, [
125           MockResultsBaseURL + '/userscripts/another-test-expected.png',
126           MockResultsBaseURL + '/userscripts/another-test-actual.png',
127           MockResultsBaseURL + '/userscripts/another-test-diff.png',
128           MockResultsBaseURL + '/userscripts/another-test-crash-log.txt',
129           MockResultsBaseURL + '/userscripts/taco-expected.png',
130           MockResultsBaseURL + '/userscripts/taco-actual.png',
131           MockResultsBaseURL + '/userscripts/taco-diff.png',
132           MockResultsBaseURL + '/userscripts/taco-actual.txt',
133           MockResultsBaseURL + '/userscripts/taco-expected.txt',
134           MockResultsBaseURL + '/userscripts/taco-diff.txt',
135           MockResultsBaseURL + '/userscripts/another-test-leak-log.txt',
136         ]);
137       });
138     });
139   });
140 });
141
142 })();
143 </script>