Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(173)

Side by Side Diff: chrome/test/data/webui/media_router/route_details_tests.js

Issue 2938173004: [Media Router] Add a supports_web_ui_controller attribute to MediaRoute (Closed)
Patch Set: Rebase Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « chrome/renderer/resources/extensions/media_router_bindings.js ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 /** @fileoverview Suite of tests for route-details. */ 5 /** @fileoverview Suite of tests for route-details. */
6 cr.define('route_details', function() { 6 cr.define('route_details', function() {
7 function registerTests() { 7 function registerTests() {
8 suite('RouteDetails', function() { 8 suite('RouteDetails', function() {
9 /** 9 /**
10 * Route Details created before each test. 10 * Route Details created before each test.
(...skipping 30 matching lines...) Expand all
41 // the |elementId| element are equal. 41 // the |elementId| element are equal.
42 var checkSpanText = function(expected, elementId) { 42 var checkSpanText = function(expected, elementId) {
43 assertEquals( 43 assertEquals(
44 expected, 44 expected,
45 details.$$('#' + elementId).querySelector('span').innerText); 45 details.$$('#' + elementId).querySelector('span').innerText);
46 }; 46 };
47 47
48 // Checks the default route view is shown. 48 // Checks the default route view is shown.
49 var checkDefaultViewIsShown = function() { 49 var checkDefaultViewIsShown = function() {
50 assertFalse(details.$$('#route-information').hasAttribute('hidden')); 50 assertFalse(details.$$('#route-information').hasAttribute('hidden'));
51 assertTrue(details.$$('extension-view-wrapper').hasAttribute('hidden')); 51 assertTrue(
52 !details.$$('extension-view-wrapper') ||
53 details.$$('extension-view-wrapper').hasAttribute('hidden'));
52 }; 54 };
53 55
54 // Checks the start button is shown. 56 // Checks the start button is shown.
55 var checkStartCastButtonIsShown = function() { 57 var checkStartCastButtonIsShown = function() {
56 assertFalse(details.$$('#start-casting-to-route-button') 58 assertFalse(details.$$('#start-casting-to-route-button')
57 .hasAttribute('hidden')); 59 .hasAttribute('hidden'));
58 }; 60 };
59 61
60 // Checks the start button is not shown. 62 // Checks the start button is not shown.
61 var checkStartCastButtonIsNotShown = function() { 63 var checkStartCastButtonIsNotShown = function() {
(...skipping 18 matching lines...) Expand all
80 suiteSetup(function() { 82 suiteSetup(function() {
81 return PolymerTest.importHtml( 83 return PolymerTest.importHtml(
82 'chrome://media-router/elements/route_details/' + 84 'chrome://media-router/elements/route_details/' +
83 'route_details.html'); 85 'route_details.html');
84 }); 86 });
85 87
86 // Initialize a route-details before each test. 88 // Initialize a route-details before each test.
87 setup(function(done) { 89 setup(function(done) {
88 PolymerTest.clearBody(); 90 PolymerTest.clearBody();
89 details = document.createElement('route-details'); 91 details = document.createElement('route-details');
90 details.useWebUiRouteControls = false;
91 document.body.appendChild(details); 92 document.body.appendChild(details);
92 93
93 // Initialize routes and sinks. 94 // Initialize routes and sinks.
94 fakeRouteOne = new media_router.Route( 95 fakeRouteOne = new media_router.Route(
95 'route id 1', 'sink id 1', 'Video 1', 1, true, false, 96 'route id 1', 'sink id 1', 'Video 1', 1, true, false,
96 fakeRouteOneControllerPath); 97 fakeRouteOneControllerPath);
97 fakeRouteTwo = new media_router.Route('route id 2', 'sink id 2', 98 fakeRouteTwo = new media_router.Route('route id 2', 'sink id 2',
98 'Video 2', 2, false, true); 99 'Video 2', 2, false, true);
99 fakeSinkOne = new media_router.Sink( 100 fakeSinkOne = new media_router.Sink(
100 'sink id 1', 'sink 1', 'description', null, 101 'sink id 1', 'sink 1', 'description', null,
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after
202 details.route = fakeRouteTwo; 203 details.route = fakeRouteTwo;
203 assertEquals(fakeRouteTwo, details.route); 204 assertEquals(fakeRouteTwo, details.route);
204 checkSpanText(loadTimeData.getStringF('castingActivityStatus', 205 checkSpanText(loadTimeData.getStringF('castingActivityStatus',
205 fakeRouteTwo.description), 'route-information'); 206 fakeRouteTwo.description), 'route-information');
206 checkDefaultViewIsShown(); 207 checkDefaultViewIsShown();
207 checkStartCastButtonIsShown(); 208 checkStartCastButtonIsShown();
208 }); 209 });
209 210
210 // Tests when |route| exists, has a custom controller, and it loads. 211 // Tests when |route| exists, has a custom controller, and it loads.
211 test('route has custom controller and loading succeeds', function(done) { 212 test('route has custom controller and loading succeeds', function(done) {
212 details.$$('extension-view-wrapper').$$('#custom-controller').load = 213 // Get the extension-view-wrapper stamped first, so that we can mock out
213 function(url) { 214 // the load method.
214 setTimeout(function() { 215 details.route = fakeRouteTwo;
215 assertEquals(
216 fakeRouteOneControllerPath,
217 url.substring(0, fakeRouteOneControllerPath.length));
218 checkCustomControllerIsShown();
219 done();
220 });
221 return Promise.resolve();
222 };
223 216
224 details.route = fakeRouteOne; 217 setTimeout(function() {
218 details.$$('extension-view-wrapper').$$('#custom-controller').load =
219 function(url) {
220 setTimeout(function() {
221 assertEquals(
222 fakeRouteOneControllerPath,
223 url.substring(0, fakeRouteOneControllerPath.length));
224 checkCustomControllerIsShown();
225 done();
226 });
227 return Promise.resolve();
228 };
229
230 details.route = fakeRouteOne;
231 });
225 }); 232 });
226 233
227 // Tests when |route| exists, has a custom controller, but fails to load. 234 // Tests when |route| exists, has a custom controller, but fails to load.
228 test('route has custom controller but loading fails', function(done) { 235 test('route has custom controller but loading fails', function(done) {
229 details.$$('extension-view-wrapper').$$('#custom-controller').load = 236 // Get the extension-view-wrapper stamped first, so that we can mock out
230 function(url) { 237 // the load method.
231 setTimeout(function() { 238 details.route = fakeRouteTwo;
232 checkDefaultViewIsShown();
233 done();
234 });
235 return Promise.reject();
236 };
237 239
238 details.route = fakeRouteOne; 240 setTimeout(function() {
241 details.$$('extension-view-wrapper').$$('#custom-controller').load =
242 function(url) {
243 setTimeout(function() {
244 checkDefaultViewIsShown();
245 done();
246 });
247 return Promise.reject();
248 };
249
250 details.route = fakeRouteOne;
251 });
239 }); 252 });
240 }); 253 });
241 } 254 }
242 255
243 return { 256 return {
244 registerTests: registerTests, 257 registerTests: registerTests,
245 }; 258 };
246 }); 259 });
OLDNEW
« no previous file with comments | « chrome/renderer/resources/extensions/media_router_bindings.js ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698