Index: Tools/GardeningServer/ui/test/ct-results-detail-tests.html |
diff --git a/Tools/GardeningServer/ui/ct-results-detail-tests.html b/Tools/GardeningServer/ui/test/ct-results-detail-tests.html |
similarity index 25% |
rename from Tools/GardeningServer/ui/ct-results-detail-tests.html |
rename to Tools/GardeningServer/ui/test/ct-results-detail-tests.html |
index a7a808fe83d9648a871ac0dc32032c46250e2714..5780009f0f88c1eadd26929d7e07750ea49004f3 100644 |
--- a/Tools/GardeningServer/ui/ct-results-detail-tests.html |
+++ b/Tools/GardeningServer/ui/test/ct-results-detail-tests.html |
@@ -4,144 +4,145 @@ Use of this source code is governed by a BSD-style license that can be |
found in the LICENSE file. |
--> |
-<link rel="import" href="ct-results-detail.html"> |
+<link rel="import" href="../ct-results-detail.html"> |
-<link rel="import" href="../model/ct-failure.html"> |
+<link rel="import" href="../../lib/network-simulator.html"> |
+<link rel="import" href="../../model/ct-failure.html"> |
<script> |
(function () { |
-module("ct-results-detail"); |
+var assert = chai.assert; |
-asyncTest("image+text", 4, function() { |
- var simulator = new NetworkSimulator(); |
- var probedUrls = []; |
+describe('ct-results-detail', function() { |
+ describe('webkit failures', function() { |
+ var resultsDetail; |
+ var probedUrls; |
- simulator.probe = function(url) |
- { |
- probedUrls.push(url); |
- if (url.endsWith('.txt') || url.endsWith('.png')) |
- return Promise.resolve(); |
- else |
+ // Set to test different types. |
+ var resultType = ''; |
+ var extensions = []; |
+ |
+ beforeEach(function(done) { |
+ var simulator = new NetworkSimulator(assert, done); |
+ probedUrls = []; |
+ |
+ simulator.probe = function(url) { |
+ probedUrls.push(url); |
+ for (var i = 0; i < extensions.length; i++) { |
+ if (url.endsWith(extensions[i])) |
+ return Promise.resolve(); |
+ } |
return Promise.reject(); |
- }; |
- |
- simulator.runTest(function() { |
- var comparisonResult = document.createElement('ct-results-detail'); |
- comparisonResult.builder = 'dummy builder'; |
- // FIXME: Use a proper mock model object. |
- comparisonResult.failure = new CTFailure( |
- "testName", "dummy/test.html", |
- { |
- "dummy builder": { |
- "actual": "IMAGE+TEXT", |
- }, |
- }, 177164, 177165 |
- ); |
- |
- comparisonResult.async(function() { |
- deepEqual(probedUrls, [ |
+ }; |
+ |
+ // FIXME: Use a proper mock model object. |
+ var failure = new CTFailure( |
+ "testName", "dummy/test.html", |
+ { |
+ "dummy builder": { |
+ "actual": resultType, |
+ }, |
+ }, 177164, 177165 |
+ ); |
+ |
+ simulator.runTest(function() { |
+ resultsDetail = document.createElement('ct-results-detail'); |
+ resultsDetail.builder = 'dummy builder'; |
+ resultsDetail.failure = failure; |
+ }); |
+ |
+ setTimeout(done); |
+ }); |
+ |
+ describe('image+text', function() { |
+ before(function() { |
+ resultType = "IMAGE+TEXT"; |
+ extensions = ['.txt', '.png']; |
+ }); |
+ |
+ it('should fetch the correct URLs', function() { |
+ assert.deepEqual(probedUrls, [ |
'https://storage.googleapis.com/chromium-layout-test-archives/dummy_builder/results/layout-test-results/dummy/test-expected.png', |
'https://storage.googleapis.com/chromium-layout-test-archives/dummy_builder/results/layout-test-results/dummy/test-actual.png', |
'https://storage.googleapis.com/chromium-layout-test-archives/dummy_builder/results/layout-test-results/dummy/test-diff.png', |
'https://storage.googleapis.com/chromium-layout-test-archives/dummy_builder/results/layout-test-results/dummy/test-actual.txt', |
'https://storage.googleapis.com/chromium-layout-test-archives/dummy_builder/results/layout-test-results/dummy/test-expected.txt', |
'https://storage.googleapis.com/chromium-layout-test-archives/dummy_builder/results/layout-test-results/dummy/test-diff.txt', |
- ]); |
- |
- var comparisons = comparisonResult.shadowRoot.querySelectorAll('ct-results-comparison'); |
- equal(comparisons.length, 2); |
- equal(comparisonResult.shadowRoot.querySelectorAll('ct-test-output').length, 0); |
+ ]); |
- start(); |
+ assert.lengthOf(resultsDetail.shadowRoot.querySelectorAll('ct-results-comparison'), 2); |
+ assert.lengthOf(resultsDetail.shadowRoot.querySelectorAll('ct-test-output'), 0); |
+ }); |
}); |
- }); |
-}); |
-asyncTest("crash", 4, function() { |
- var simulator = new NetworkSimulator(); |
- var probedUrls = []; |
+ describe('crash', function() { |
+ before(function() { |
+ resultType = "CRASH"; |
+ extensions = ['.txt']; |
+ }); |
- simulator.probe = function(url) |
- { |
- probedUrls.push(url); |
- if (url.endsWith('.txt')) |
- return Promise.resolve(); |
- else |
- return Promise.reject(); |
- }; |
- |
- simulator.runTest(function() { |
- var crashResult = document.createElement('ct-results-detail'); |
- crashResult.builder = 'dummy builder'; |
- // FIXME: Use a proper mock model object. |
- crashResult.failure = { |
- "testName": "dummy/test.html", |
- "resultNodesByBuilder": { |
- "dummy builder": { |
- "actual": "CRASH", |
- }, |
- }, |
- "oldestFailingRevision": 177164, |
- "newestPassingRevision": 177165, |
- }; |
- |
- crashResult.async(function() { |
- deepEqual(probedUrls, [ |
+ it('should fetch the correct URLs', function() { |
+ assert.deepEqual(probedUrls, [ |
'https://storage.googleapis.com/chromium-layout-test-archives/dummy_builder/results/layout-test-results/dummy/test-crash-log.txt', |
- ]); |
+ ]); |
- var crashOutputs = crashResult.shadowRoot.querySelectorAll('ct-test-output'); |
- equal(crashOutputs.length, 1); |
- equal(crashResult.shadowRoot.querySelectorAll('ct-results-comparison').length, 0); |
- start(); |
+ assert.lengthOf(resultsDetail.shadowRoot.querySelectorAll('ct-test-output'), 1); |
+ assert.lengthOf(resultsDetail.shadowRoot.querySelectorAll('ct-results-comparison'), 0); |
+ }); |
}); |
}); |
-}); |
-asyncTest("unknown", 3, function() { |
- var result = document.createElement('ct-results-detail'); |
- |
- result.builder = 'dummy builder'; |
- |
- var resultsByBuilder = { |
- "dummy builder": { |
- actual: "UNKNOWN", |
- lastFailingBuild: 124, |
- masterUrl: 'http://masterurl/' |
- }, |
- }; |
- result.failure = new CTFailure('foo_step', 'test.html', resultsByBuilder, 123, 124); |
- |
- requestAnimationFrame(function() { |
- var outputs = result.shadowRoot.querySelectorAll('ct-test-output'); |
- equal(outputs.length, 1); |
- equal(outputs[0].url, 'http://masterurl//builders/dummy%20builder/builds/124/steps/foo_step/logs/stdio'); |
- equal(result.shadowRoot.querySelectorAll('ct-results-comparison').length, 0); |
- start(); |
- }); |
-}); |
+ describe('failures', function() { |
+ var result; |
+ var expectedUrl; |
-asyncTest("unknown", 3, function() { |
- var result = document.createElement('ct-results-detail'); |
- |
- result.builder = 'dummy builder'; |
- |
- var resultsByBuilder = { |
- "dummy builder": { |
- actual: "FAIL", |
- lastFailingBuild: 124, |
- masterUrl: 'http://masterurl/' |
- }, |
- }; |
- result.failure = new CTFailure('foo_step', 'TestSuite.TestName', resultsByBuilder, 123, 124); |
- |
- requestAnimationFrame(function() { |
- var outputs = result.shadowRoot.querySelectorAll('ct-test-output'); |
- equal(outputs.length, 1); |
- equal(outputs[0].url, 'http://masterurl//builders/dummy%20builder/builds/124/steps/foo_step/logs/TestName'); |
- equal(result.shadowRoot.querySelectorAll('ct-results-comparison').length, 0); |
- start(); |
+ afterEach(function() { |
+ var outputs = result.shadowRoot.querySelectorAll('ct-test-output'); |
+ assert.lengthOf(outputs, 1); |
+ assert.equal(outputs[0].url, expectedUrl); |
+ assert.lengthOf(result.shadowRoot.querySelectorAll('ct-results-comparison'), 0); |
+ }); |
+ |
+ describe('unknown failures', function() { |
+ it('should show the failure output', function(done) { |
+ result = document.createElement('ct-results-detail'); |
+ |
+ result.builder = 'dummy builder'; |
+ |
+ var resultsByBuilder = { |
+ "dummy builder": { |
+ actual: "UNKNOWN", |
+ lastFailingBuild: 124, |
+ masterUrl: 'http://masterurl/' |
+ }, |
+ }; |
+ result.failure = new CTFailure('foo_step', 'test.html', resultsByBuilder, 123, 124); |
+ expectedUrl = 'http://masterurl//builders/dummy%20builder/builds/124/steps/foo_step/logs/stdio'; |
+ |
+ setTimeout(done); |
+ }); |
+ }); |
+ |
+ describe('failures', function() { |
+ it('should show the failure output', function(done) { |
+ result = document.createElement('ct-results-detail'); |
+ |
+ result.builder = 'dummy builder'; |
+ |
+ var resultsByBuilder = { |
+ "dummy builder": { |
+ actual: "FAIL", |
+ lastFailingBuild: 124, |
+ masterUrl: 'http://masterurl/' |
+ }, |
+ }; |
+ result.failure = new CTFailure('foo_step', 'TestSuite.TestName', resultsByBuilder, 123, 124); |
+ expectedUrl = 'http://masterurl//builders/dummy%20builder/builds/124/steps/foo_step/logs/TestName'; |
+ |
+ setTimeout(done); |
+ }); |
+ }); |
}); |
}); |