| Index: chrome/test/data/webui/settings/people_page_test.js
|
| diff --git a/chrome/test/data/webui/settings/people_page_test.js b/chrome/test/data/webui/settings/people_page_test.js
|
| index 748bb6990f2d4859cfa148631f2a8457f40ff389..d36a07cb1c7d55876f1c5c98985430bea6313cac 100644
|
| --- a/chrome/test/data/webui/settings/people_page_test.js
|
| +++ b/chrome/test/data/webui/settings/people_page_test.js
|
| @@ -171,17 +171,13 @@ cr.define('settings_people_page', function() {
|
| assertTrue(!!disconnectConfirm);
|
| assertFalse(disconnectConfirm.hidden);
|
|
|
| - // Wait for exit of dialog route.
|
| - var dialogExitPromise = new Promise(function(resolve) {
|
| - window.addEventListener('popstate', function callback() {
|
| - window.removeEventListener('popstate', callback);
|
| - resolve();
|
| - });
|
| + var popstatePromise = new Promise(function(resolve) {
|
| + listenOnce(window, 'popstate', resolve);
|
| });
|
|
|
| MockInteractions.tap(disconnectConfirm);
|
|
|
| - return dialogExitPromise;
|
| + return popstatePromise;
|
| }).then(function() {
|
| return browserProxy.whenCalled('signOut');
|
| }).then(function(deleteProfile) {
|
| @@ -206,14 +202,50 @@ cr.define('settings_people_page', function() {
|
| assertFalse(disconnectManagedProfileConfirm.hidden);
|
|
|
| browserProxy.resetResolver('signOut');
|
| +
|
| + var popstatePromise = new Promise(function(resolve) {
|
| + listenOnce(window, 'popstate', resolve);
|
| + });
|
| +
|
| MockInteractions.tap(disconnectManagedProfileConfirm);
|
|
|
| + return popstatePromise;
|
| + }).then(function() {
|
| return browserProxy.whenCalled('signOut');
|
| }).then(function(deleteProfile) {
|
| assertTrue(deleteProfile);
|
| });
|
| });
|
|
|
| + test('Signout dialog suppressed when not signed in', function() {
|
| + return browserProxy.whenCalled('getSyncStatus').then(function() {
|
| + Polymer.dom.flush();
|
| +
|
| + settings.navigateTo(settings.Route.SIGN_OUT);
|
| + Polymer.dom.flush();
|
| +
|
| + assertTrue(peoplePage.$.disconnectDialog.open);
|
| +
|
| + var popstatePromise = new Promise(function(resolve) {
|
| + listenOnce(window, 'popstate', resolve);
|
| + });
|
| +
|
| + cr.webUIListenerCallback('sync-status-changed', {
|
| + signedIn: false,
|
| + });
|
| +
|
| + return popstatePromise;
|
| + }).then(function() {
|
| + var popstatePromise = new Promise(function(resolve) {
|
| + listenOnce(window, 'popstate', resolve);
|
| + });
|
| +
|
| + settings.navigateTo(settings.Route.SIGN_OUT);
|
| +
|
| + return popstatePromise;
|
| + });
|
| + });
|
| +
|
| test('ActivityControlsLink', function() {
|
| return browserProxy.whenCalled('getSyncStatus').then(function() {
|
| Polymer.dom.flush();
|
|
|