Index: chrome/test/data/webui/media_router/media_router_container_route_tests.js |
diff --git a/chrome/test/data/webui/media_router/media_router_container_route_tests.js b/chrome/test/data/webui/media_router/media_router_container_route_tests.js |
index 110302cb1ade98902dc56509a7a82197ca41f05f..115aeca6b234ca6d8618c8443504a9f3ea7a1b97 100644 |
--- a/chrome/test/data/webui/media_router/media_router_container_route_tests.js |
+++ b/chrome/test/data/webui/media_router/media_router_container_route_tests.js |
@@ -79,6 +79,28 @@ cr.define('media_router_container_route', function() { |
*/ |
var fakeSinkList = []; |
+ /** |
+ * Sets |container| to use |fakeSinkList| and |fakeRouteList|, and chooses |
+ * the sink at the index. |
+ * @param {number} index |
+ * @return {!Promise<void>} |
+ */ |
+ var chooseSinkAtIndex = function(index) { |
+ container.allSinks = fakeSinkList; |
+ container.routeList = fakeRouteList; |
+ return new Promise(function(resolve) { |
+ setTimeout(function() { |
+ var sinkList = container.shadowRoot.getElementById('sink-list') |
+ .querySelectorAll('paper-item'); |
+ // Start from the SINK_LIST view. |
+ container.showSinkList_(); |
+ checkCurrentView(media_router.MediaRouterView.SINK_LIST); |
+ MockInteractions.tap(sinkList[index]); |
+ resolve(); |
+ }); |
+ }); |
+ }; |
+ |
// Import media_router_container.html before running suite. |
suiteSetup(function() { |
return PolymerTest.importHtml( |
@@ -145,23 +167,46 @@ cr.define('media_router_container_route', function() { |
// Tests that selecting a sink with an associated route will make the |
// |container| switch to ROUTE_DETAILS view. |
test('select sink with a route', function(done) { |
- container.allSinks = fakeSinkList; |
- container.routeList = fakeRouteList; |
- |
- setTimeout(function() { |
- var sinkList = |
- container.shadowRoot.getElementById('sink-list') |
- .querySelectorAll('paper-item'); |
- |
- // Start from the SINK_LIST view. |
- container.showSinkList_(); |
- checkCurrentView(media_router.MediaRouterView.SINK_LIST); |
- MockInteractions.tap(sinkList[0]); |
+ chooseSinkAtIndex(0).then(function() { |
checkCurrentView(media_router.MediaRouterView.ROUTE_DETAILS); |
done(); |
}); |
}); |
+ test('uses WebUI controls when they are available', function(done) { |
+ var index = 0; |
+ container.webUiRouteControlsAvailable = true; |
+ fakeRouteList[index].supportsWebUiController = true; |
+ chooseSinkAtIndex(index).then(function() { |
+ assertTrue(container.useWebUiRouteControls); |
+ done(); |
+ }); |
+ }); |
+ |
+ test( |
+ 'does not use WebUI controls when they are not available', |
+ function(done) { |
+ var index = 0; |
+ container.webUiRouteControlsAvailable = false; |
+ fakeRouteList[index].supportsWebUiController = true; |
+ chooseSinkAtIndex(index).then(function() { |
+ assertFalse(container.useWebUiRouteControls); |
+ done(); |
+ }); |
+ }); |
+ |
+ test( |
+ 'does not use WebUI controls when the route does not support them', |
+ function(done) { |
+ var index = 0; |
+ container.webUiRouteControlsAvailable = true; |
+ fakeRouteList[index].supportsWebUiController = false; |
+ chooseSinkAtIndex(index).then(function() { |
+ assertFalse(container.useWebUiRouteControls); |
+ done(); |
+ }); |
+ }); |
takumif
2017/06/15 21:59:41
Hmm I'm not super happy with how the code is forma
|
+ |
// Tests the text shown for the sink list. |
test('initial sink list route text', function(done) { |
// Sink 1 - no sink description, no route -> no subtext |