| Index: chrome/test/data/webui/media_router/media_router_container_part_one_tests.js
|
| diff --git a/chrome/test/data/webui/media_router/media_router_container_tests.js b/chrome/test/data/webui/media_router/media_router_container_part_one_tests.js
|
| similarity index 67%
|
| rename from chrome/test/data/webui/media_router/media_router_container_tests.js
|
| rename to chrome/test/data/webui/media_router/media_router_container_part_one_tests.js
|
| index 446b098fc9ca3a34ff0a2ec8291b4ab1f2b0f71f..c83a78d41f654d406ab4f91ba68ae0ec6e36da68 100644
|
| --- a/chrome/test/data/webui/media_router/media_router_container_tests.js
|
| +++ b/chrome/test/data/webui/media_router/media_router_container_part_one_tests.js
|
| @@ -3,9 +3,9 @@
|
| // found in the LICENSE file.
|
|
|
| /** @fileoverview Suite of tests for media-router-container. */
|
| -cr.define('media_router_container', function() {
|
| +cr.define('media_router_container_part_one', function() {
|
| function registerTests() {
|
| - suite('MediaRouterContainer', function() {
|
| + suite('MediaRouterContainerPartOne', function() {
|
| /**
|
| * Media Router Container created before each test.
|
| * @type {MediaRouterContainer}
|
| @@ -98,11 +98,6 @@ cr.define('media_router_container', function() {
|
| assertEquals(expected.trim(), element.textContent.trim());
|
| };
|
|
|
| - // Checks whether |expected| and the |property| in |container| are equal.
|
| - var checkPropertyValue = function(expected, property) {
|
| - assertEquals(expected.trim(), container.property);
|
| - }
|
| -
|
| // Import media_router_container.html before running suite.
|
| suiteSetup(function() {
|
| return PolymerTest.importHtml(
|
| @@ -156,10 +151,6 @@ cr.define('media_router_container', function() {
|
| media_router.SinkStatus.PENDING, castModeBitset),
|
| ];
|
|
|
| - searchTextAll = 'sink';
|
| - searchTextNone = 'abc';
|
| - searchTextOne = 'sink 1';
|
| -
|
| fakeBlockingIssue = new media_router.Issue(
|
| 'issue id 1', 'Issue Title 1', 'Issue Message 1', 0, 1,
|
| 'route id 1', true, 1234);
|
| @@ -223,6 +214,9 @@ cr.define('media_router_container', function() {
|
| assertFalse(data.detail.optedIntoCloudServices);
|
| done();
|
| });
|
| + // Tapping the checkbox doesn't work if the browser window that the
|
| + // test opens is unfocused, causing this test to fail.
|
| + // https://github.com/PolymerElements/iron-test-helpers/issues/48
|
| MockInteractions.tap(container.shadowRoot.getElementById(
|
| 'first-run-cloud-checkbox'));
|
| MockInteractions.tap(container.shadowRoot.getElementById(
|
| @@ -309,74 +303,6 @@ cr.define('media_router_container', function() {
|
| checkCurrentView(media_router.MediaRouterView.SINK_LIST);
|
| });
|
|
|
| - // Tests the header text. Choosing a cast mode updates the header text.
|
| - test('header text with no default cast modes', function(done) {
|
| - assertEquals(loadTimeData.getString('selectCastModeHeader'),
|
| - container.selectCastModeHeaderText_);
|
| -
|
| - // The container is currently in auto cast mode, since we have not
|
| - // picked a cast mode explicitly, and the sinks is not compatible
|
| - // with exactly one cast mode.
|
| - assertEquals(media_router.AUTO_CAST_MODE.description,
|
| - container.headerText);
|
| - assertFalse(container.userHasSelectedCastMode_);
|
| -
|
| - container.castModeList = fakeCastModeListWithNonDefaultModesOnly;
|
| -
|
| - // Switch to cast mode list view.
|
| - MockInteractions.tap(container.$['container-header'].
|
| - $['arrow-drop-icon']);
|
| - setTimeout(function() {
|
| - var castModeList =
|
| - container.$$('#cast-mode-list').querySelectorAll('paper-item');
|
| - assertEquals(fakeCastModeListWithNonDefaultModesOnly.length,
|
| - castModeList.length);
|
| - for (var i = 0; i < castModeList.length; i++) {
|
| - MockInteractions.tap(castModeList[i]);
|
| - assertEquals(
|
| - fakeCastModeListWithNonDefaultModesOnly[i].description,
|
| - container.headerText);
|
| - checkElementText(
|
| - fakeCastModeListWithNonDefaultModesOnly[i].description,
|
| - castModeList[i]);
|
| - }
|
| -
|
| - done();
|
| - });
|
| - });
|
| -
|
| - // Tests the header text when updated with a cast mode list with a mix of
|
| - // default and non-default cast modes.
|
| - test('cast modes with one default mode', function(done) {
|
| - container.castModeList = fakeCastModeList;
|
| -
|
| - // Switch to cast mode list view.
|
| - MockInteractions.tap(container.$['container-header'].
|
| - $['arrow-drop-icon']);
|
| - setTimeout(function() {
|
| - var castModeList =
|
| - container.$$('#cast-mode-list').querySelectorAll('paper-item');
|
| -
|
| - for (var i = 0; i < fakeCastModeList.length; i++) {
|
| - MockInteractions.tap(castModeList[i]);
|
| - if (fakeCastModeList[i].type ==
|
| - media_router.CastModeType.DEFAULT) {
|
| - assertEquals(fakeCastModeList[i].description,
|
| - container.headerText);
|
| -
|
| - checkElementText(fakeCastModeList[i].host, castModeList[i]);
|
| - } else {
|
| - assertEquals(fakeCastModeList[i].description,
|
| - container.headerText);
|
| - checkElementText(fakeCastModeList[i].description,
|
| - castModeList[i]);
|
| - }
|
| - }
|
| -
|
| - done();
|
| - });
|
| - });
|
| -
|
| // Tests that text shown for each sink matches their names.
|
| test('sink list text', function(done) {
|
| container.allSinks = fakeSinkList;
|
| @@ -544,33 +470,6 @@ cr.define('media_router_container', function() {
|
| checkCurrentView(media_router.MediaRouterView.SINK_LIST);
|
| });
|
|
|
| - // Tests for expected visible UI when the view is CAST_MODE_LIST.
|
| - test('cast mode list state visibility', function(done) {
|
| - container.showCastModeList_();
|
| - setTimeout(function() {
|
| - checkElementsVisibleWithId(['cast-mode-list',
|
| - 'container-header',
|
| - 'device-missing']);
|
| -
|
| - // Set a non-blocking issue. The issue should stay hidden.
|
| - container.issue = fakeNonBlockingIssue;
|
| - setTimeout(function() {
|
| - checkElementsVisibleWithId(['cast-mode-list',
|
| - 'container-header',
|
| - 'device-missing']);
|
| -
|
| - // Set a blocking issue. The issue should stay hidden.
|
| - container.issue = fakeBlockingIssue;
|
| - setTimeout(function() {
|
| - checkElementsVisibleWithId(['container-header',
|
| - 'device-missing',
|
| - 'issue-banner']);
|
| - done();
|
| - });
|
| - });
|
| - });
|
| - });
|
| -
|
| // Tests for the expected visible UI when interacting with the first run
|
| // flow.
|
| test('first run button visibility', function(done) {
|
| @@ -588,30 +487,6 @@ cr.define('media_router_container', function() {
|
| });
|
| });
|
|
|
| - // Tests for the expected visible UI when interacting with the first run
|
| - // flow with cloud services preference.
|
| - test('first run button visibility', function(done) {
|
| - container.showFirstRunFlow = true;
|
| - container.showFirstRunFlowCloudPref = true;
|
| -
|
| - setTimeout(function() {
|
| - checkElementsVisibleWithId(['container-header',
|
| - 'device-missing',
|
| - 'first-run-flow',
|
| - 'first-run-flow-cloud-pref',
|
| - 'sink-list-view']);
|
| - MockInteractions.tap(container.shadowRoot.getElementById(
|
| - 'first-run-button'));
|
| -
|
| - setTimeout(function() {
|
| - checkElementsVisibleWithId(['container-header',
|
| - 'device-missing',
|
| - 'sink-list-view']);
|
| - done();
|
| - });
|
| - });
|
| - });
|
| -
|
| // Tests for expected visible UI when the view is ROUTE_DETAILS.
|
| test('route details visibility', function(done) {
|
| container.showRouteDetails_();
|
| @@ -797,82 +672,6 @@ cr.define('media_router_container', function() {
|
| });
|
| });
|
|
|
| - // Tests that the sink list does not contain any sinks that are not
|
| - // compatible with the selected cast mode and are not associated with a
|
| - // route.
|
| - test('sink list in user selected cast mode', function(done) {
|
| - var newSinks = [
|
| - new media_router.Sink('sink id 10', 'Sink 10', null, null,
|
| - media_router.SinkIconType.CAST,
|
| - media_router.SinkStatus.ACTIVE, 0x4 | 0x8),
|
| - new media_router.Sink('sink id 20', 'Sink 20', null, null,
|
| - media_router.SinkIconType.CAST,
|
| - media_router.SinkStatus.ACTIVE, 0x2 | 0x4 | 0x8),
|
| - new media_router.Sink('sink id 30', 'Sink 30', null, null,
|
| - media_router.SinkIconType.CAST,
|
| - media_router.SinkStatus.PENDING, 0x4 | 0x8),
|
| - ];
|
| -
|
| - container.allSinks = newSinks;
|
| - container.routeList = [
|
| - new media_router.Route('id 1', 'sink id 30',
|
| - 'Title 1', 1, false, false),
|
| - ];
|
| -
|
| - setTimeout(function() {
|
| - var sinkList =
|
| - container.$['sink-list'].querySelectorAll('paper-item');
|
| -
|
| - // Since we haven't selected a cast mode, we don't filter sinks.
|
| - assertEquals(3, sinkList.length);
|
| -
|
| - MockInteractions.tap(container.$['container-header'].
|
| - $['arrow-drop-icon']);
|
| - setTimeout(function() {
|
| - // Cast mode 1 is selected, and the sink list is filtered.
|
| - var castModeList =
|
| - container.$$('#cast-mode-list').querySelectorAll('paper-item');
|
| - MockInteractions.tap(castModeList[1]);
|
| - assertEquals(fakeCastModeList[1].description, container.headerText);
|
| - assertEquals(fakeCastModeList[1].type,
|
| - container.shownCastModeValue_);
|
| -
|
| - setTimeout(function() {
|
| - var sinkList =
|
| - container.$['sink-list'].querySelectorAll('paper-item');
|
| -
|
| - // newSinks[0] got filtered out since it is not compatible with
|
| - // cast mode 1.
|
| - // 'Sink 20' should be on the list because it contains the
|
| - // selected cast mode. (sinkList[0] = newSinks[1])
|
| - // 'Sink 30' should be on the list because it has a route.
|
| - // (sinkList[1] = newSinks[2])
|
| - assertEquals(2, sinkList.length);
|
| - checkElementText(newSinks[1].name, sinkList[0]);
|
| -
|
| - // |sinkList[1]| contains route title in addition to sink name.
|
| - assertTrue(sinkList[1].textContent.trim().startsWith(
|
| - newSinks[2].name.trim()));
|
| -
|
| - // Cast mode is not switched back even if there are no sinks
|
| - // compatible with selected cast mode, because we explicitly
|
| - // selected that cast mode.
|
| - container.allSinks = [];
|
| - setTimeout(function() {
|
| - assertEquals(fakeCastModeList[1].description,
|
| - container.headerText);
|
| - assertEquals(fakeCastModeList[1].type,
|
| - container.shownCastModeValue_);
|
| - var sinkList =
|
| - container.$['sink-list'].querySelectorAll('paper-item');
|
| - assertEquals(0, sinkList.length);
|
| - done();
|
| - });
|
| - });
|
| - });
|
| - });
|
| - });
|
| -
|
| // Container remains in auto mode even if the cast mode list changed.
|
| test('cast mode list updated in auto mode', function(done) {
|
| assertEquals(media_router.AUTO_CAST_MODE.description,
|
| @@ -891,102 +690,6 @@ cr.define('media_router_container', function() {
|
| done();
|
| });
|
| });
|
| -
|
| - // If the container is not in auto mode, and the mode it is currently in
|
| - // no longer exists in the list of cast modes, then switch back to auto
|
| - // mode.
|
| - test('cast mode list updated in selected cast mode', function(done) {
|
| - assertEquals(media_router.AUTO_CAST_MODE.description,
|
| - container.headerText);
|
| - assertEquals(media_router.CastModeType.AUTO,
|
| - container.shownCastModeValue_);
|
| - assertFalse(container.userHasSelectedCastMode_);
|
| -
|
| - MockInteractions.tap(container.$['container-header'].
|
| - $['arrow-drop-icon']);
|
| - setTimeout(function() {
|
| - var castModeList =
|
| - container.$$('#cast-mode-list').querySelectorAll('paper-item');
|
| - MockInteractions.tap(castModeList[0]);
|
| - setTimeout(function() {
|
| - assertEquals(fakeCastModeList[0].description, container.headerText);
|
| - assertEquals(fakeCastModeList[0].type,
|
| - container.shownCastModeValue_);
|
| - assertTrue(container.userHasSelectedCastMode_);
|
| - container.castModeList = fakeCastModeList.slice(1);
|
| - setTimeout(function() {
|
| - assertEquals(media_router.AUTO_CAST_MODE.description,
|
| - container.headerText);
|
| - assertEquals(media_router.CastModeType.AUTO,
|
| - container.shownCastModeValue_);
|
| - assertFalse(container.userHasSelectedCastMode_);
|
| - done();
|
| - });
|
| - });
|
| - });
|
| - });
|
| -
|
| - test('creating route with selected cast mode', function(done) {
|
| - container.allSinks = fakeSinkList;
|
| - MockInteractions.tap(container.$['container-header'].
|
| - $['arrow-drop-icon']);
|
| - setTimeout(function() {
|
| - // Select cast mode 2.
|
| - var castModeList =
|
| - container.$$('#cast-mode-list').querySelectorAll('paper-item');
|
| - MockInteractions.tap(castModeList[1]);
|
| - assertEquals(fakeCastModeList[1].description, container.headerText);
|
| - setTimeout(function() {
|
| - var sinkList =
|
| - container.$['sink-list'].querySelectorAll('paper-item');
|
| - container.addEventListener('create-route', function(data) {
|
| - assertEquals(fakeSinkList[2].id, data.detail.sinkId);
|
| - // Cast mode 2 is used, since we selected it explicitly.
|
| - assertEquals(fakeCastModeList[1].type,
|
| - data.detail.selectedCastModeValue);
|
| - done();
|
| - });
|
| - // All sinks are compatible with cast mode 2.
|
| - assertEquals(fakeSinkList.length, sinkList.length);
|
| - // Tap on a sink without a route, which should fire a 'create-route'
|
| - // event.
|
| - MockInteractions.tap(sinkList[2]);
|
| - });
|
| - });
|
| - });
|
| -
|
| - // Tests that after a different cast mode is selected, the sink list will
|
| - // change based on the sinks compatibility with the new cast mode.
|
| - test('changing cast mode changes sink list', function(done) {
|
| - container.allSinks = fakeSinkList;
|
| -
|
| - MockInteractions.tap(container.$['container-header'].
|
| - $['arrow-drop-icon']);
|
| - setTimeout(function() {
|
| - var castModeList =
|
| - container.$$('#cast-mode-list').querySelectorAll('paper-item');
|
| - MockInteractions.tap(castModeList[0]);
|
| - assertEquals(fakeCastModeList[0].description, container.headerText);
|
| -
|
| - setTimeout(function() {
|
| - var sinkList =
|
| - container.$['sink-list'].querySelectorAll('paper-item');
|
| -
|
| - // The sink list is empty because none of the sinks in fakeSinkList
|
| - // is compatible with cast mode 0.
|
| - assertEquals(0, sinkList.length);
|
| - MockInteractions.tap(castModeList[2]);
|
| - assertEquals(fakeCastModeList[2].description, container.headerText);
|
| -
|
| - setTimeout(function() {
|
| - var sinkList =
|
| - container.$['sink-list'].querySelectorAll('paper-item');
|
| - assertEquals(3, sinkList.length);
|
| - done();
|
| - });
|
| - });
|
| - });
|
| - });
|
| });
|
| }
|
|
|
|
|