| 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 0e948f14dd66a28fee8d861e4a45d53d7a6cb7c3..50a5b10ef7f6a466bf79f70bf740d9d11098a1c1 100644
|
| --- a/chrome/test/data/webui/bluetooth_internals_browsertest.js
|
| +++ b/chrome/test/data/webui/bluetooth_internals_browsertest.js
|
| @@ -225,16 +225,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;
|
| @@ -477,13 +468,37 @@ 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', function() { 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) {
|
| @@ -491,18 +506,19 @@ TEST_F('BluetoothInternalsTest',
|
| assertEquals(1, $('snackbar-container').children.length);
|
|
|
| snackbar1.addEventListener('dismissed', function() {
|
| - finishSnackbarTest(done);
|
| + finishSnackbarTest().then(done);
|
| });
|
| });
|
|
|
| test('Snackbar_ShowDismiss', function(done) {
|
| var snackbar1 = snackbar.Snackbar.show('Message 1');
|
| assertEquals(1, $('snackbar-container').children.length);
|
| - snackbar1.addEventListener('dismissed', function() {
|
| - finishSnackbarTest(done);
|
| - });
|
|
|
| - snackbar.Snackbar.dismiss();
|
| + function finish() {
|
| + snackbar.Snackbar.dismiss().then(finishSnackbarTest).then(done);
|
| + }
|
| +
|
| + whenSnackbarShows(snackbar1).then(finish);
|
| });
|
|
|
| test('Snackbar_QueueThreeDismiss', function(done) {
|
| @@ -518,18 +534,18 @@ 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();
|
| - expectEquals(expectedCalls, actualCalls);
|
| - finishSnackbarTest(done);
|
| - });
|
| + function finish() {
|
| + next().then(function() {
|
| + expectEquals(expectedCalls, actualCalls);
|
| + }).then(finishSnackbarTest).then(done);
|
| + }
|
|
|
| - snackbar.Snackbar.dismiss();
|
| + whenSnackbarShows(snackbar1).then(next);
|
| + whenSnackbarShows(snackbar2).then(next);
|
| + whenSnackbarShows(snackbar3).then(finish);
|
| });
|
|
|
| test('Snackbar_QueueThreeDismissAll', function(done) {
|
| @@ -547,17 +563,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).then(done);
|
| });
|
| });
|
|
|
|
|