| Index: chrome/test/data/webui/bluetooth_internals_browsertest.js
|
| diff --git a/chrome/test/data/webui/bluetooth_internals_browsertest.js b/chrome/test/data/webui/bluetooth_internals_browsertest.js
|
| index 2bfa1804bf53326bc901dd7393f30b3de8d7a799..998eeafafafe3babfe2019339e9215e1cfeee4a9 100644
|
| --- a/chrome/test/data/webui/bluetooth_internals_browsertest.js
|
| +++ b/chrome/test/data/webui/bluetooth_internals_browsertest.js
|
| @@ -218,16 +218,7 @@ BluetoothInternalsTest.prototype = {
|
| },
|
| };
|
|
|
| -// Fails on Win/Mac. https://crbug.com/676227
|
| -GEN('#if defined(OS_MACOSX) || defined(OS_WIN)');
|
| -GEN('#define MAYBE_Startup_BluetoothInternals \\');
|
| -GEN(' DISABLED_Startup_BluetoothInternals');
|
| -GEN('#else');
|
| -GEN('#define MAYBE_Startup_BluetoothInternals Startup_BluetoothInternals');
|
| -GEN('#endif');
|
| -
|
| -TEST_F('BluetoothInternalsTest',
|
| - 'MAYBE_Startup_BluetoothInternals', function() {
|
| +TEST_F('BluetoothInternalsTest', 'Startup_BluetoothInternals', function() {
|
| var adapterFactory = null;
|
| var deviceTable = null;
|
| var sidebarNode = null;
|
| @@ -470,13 +461,36 @@ TEST_F('BluetoothInternalsTest',
|
| });
|
|
|
| /* Snackbar Tests */
|
| - function finishSnackbarTest(done) {
|
| - // Let event queue finish.
|
| - setTimeout(function() {
|
| - expectEquals(0, $('snackbar-container').children.length);
|
| - expectFalse(!!snackbar.Snackbar.current_);
|
| - done();
|
| - }, 10);
|
| +
|
| + /**
|
| + * Checks snackbar showing status and returns a Promise that resolves when
|
| + * |pendingSnackbar| is shown. If the snackbar is already showing, the
|
| + * Promise resolves immediately.
|
| + * @param {!snackbar.Snackbar} pendingSnackbar
|
| + * @return {!Promise}
|
| + */
|
| + function whenSnackbarShows(pendingSnackbar) {
|
| + return new Promise(function(resolve) {
|
| + if (pendingSnackbar.classList.contains('open'))
|
| + resolve();
|
| + else
|
| + pendingSnackbar.addEventListener('showed', resolve);
|
| + });
|
| + }
|
| +
|
| + /**
|
| + * Performs final checks for snackbar tests.
|
| + * @return {!Promise} Promise is fulfilled when the checks finish.
|
| + */
|
| + function finishSnackbarTest() {
|
| + return new Promise(function(resolve) {
|
| + // Let event queue finish.
|
| + setTimeout(function() {
|
| + expectEquals(0, $('snackbar-container').children.length);
|
| + expectFalse(!!snackbar.Snackbar.current_);
|
| + resolve();
|
| + }, 50);
|
| + });
|
| }
|
|
|
| test('Snackbar_ShowTimeout', function(done) {
|
| @@ -484,21 +498,20 @@ TEST_F('BluetoothInternalsTest',
|
| assertEquals(1, $('snackbar-container').children.length);
|
|
|
| snackbar1.addEventListener('dismissed', function() {
|
| - finishSnackbarTest(done);
|
| + finishSnackbarTest().then(done);
|
| });
|
| });
|
|
|
| - test('Snackbar_ShowDismiss', function(done) {
|
| + test('Snackbar_ShowDismiss', function() {
|
| var snackbar1 = snackbar.Snackbar.show('Message 1');
|
| assertEquals(1, $('snackbar-container').children.length);
|
| - snackbar1.addEventListener('dismissed', function() {
|
| - finishSnackbarTest(done);
|
| - });
|
|
|
| - snackbar.Snackbar.dismiss();
|
| + return whenSnackbarShows(snackbar1).then(function() {
|
| + return snackbar.Snackbar.dismiss();
|
| + }).then(finishSnackbarTest);
|
| });
|
|
|
| - test('Snackbar_QueueThreeDismiss', function(done) {
|
| + test('Snackbar_QueueThreeDismiss', function() {
|
| var expectedCalls = 3;
|
| var actualCalls = 0;
|
|
|
| @@ -511,21 +524,17 @@ TEST_F('BluetoothInternalsTest',
|
|
|
| function next() {
|
| actualCalls++;
|
| - snackbar.Snackbar.dismiss();
|
| + return snackbar.Snackbar.dismiss();
|
| }
|
|
|
| - snackbar1.addEventListener('dismissed', next);
|
| - snackbar2.addEventListener('dismissed', next);
|
| - snackbar3.addEventListener('dismissed', function() {
|
| - next();
|
| + whenSnackbarShows(snackbar1).then(next);
|
| + whenSnackbarShows(snackbar2).then(next);
|
| + return whenSnackbarShows(snackbar3).then(next).then(function() {
|
| expectEquals(expectedCalls, actualCalls);
|
| - finishSnackbarTest(done);
|
| - });
|
| -
|
| - snackbar.Snackbar.dismiss();
|
| + }).then(finishSnackbarTest);
|
| });
|
|
|
| - test('Snackbar_QueueThreeDismissAll', function(done) {
|
| + test('Snackbar_QueueThreeDismissAll', function() {
|
| var expectedCalls = 1;
|
| var actualCalls = 0;
|
|
|
| @@ -540,17 +549,17 @@ TEST_F('BluetoothInternalsTest',
|
| assertTrue(false);
|
| }
|
|
|
| - snackbar1.addEventListener('dismissed', function() {
|
| - expectEquals(0, snackbar.Snackbar.queue_.length);
|
| - expectFalse(!!snackbar.Snackbar.current_);
|
| - snackbar.Snackbar.dismiss();
|
| -
|
| - finishSnackbarTest(done);
|
| - });
|
| + whenSnackbarShows(snackbar2).then(next);
|
| snackbar2.addEventListener('dismissed', next);
|
| + whenSnackbarShows(snackbar3).then(next);
|
| snackbar3.addEventListener('dismissed', next);
|
|
|
| - snackbar.Snackbar.dismiss(true);
|
| + whenSnackbarShows(snackbar1).then(function() {
|
| + return snackbar.Snackbar.dismiss(true);
|
| + }).then(function() {
|
| + expectEquals(0, snackbar.Snackbar.queue_.length);
|
| + expectFalse(!!snackbar.Snackbar.current_);
|
| + }).then(finishSnackbarTest);
|
| });
|
| });
|
|
|
|
|