Index: chrome/browser/ui/webui/options/manage_profile_browsertest.js |
diff --git a/chrome/browser/ui/webui/options/manage_profile_browsertest.js b/chrome/browser/ui/webui/options/manage_profile_browsertest.js |
index 950d1b8e21d7d28e5aad305d051acacca03155a7..341c22bd7281e65d7cef351dfd29c37d401f17f8 100644 |
--- a/chrome/browser/ui/webui/options/manage_profile_browsertest.js |
+++ b/chrome/browser/ui/webui/options/manage_profile_browsertest.js |
@@ -517,4 +517,48 @@ TEST_F('ManageProfileUITest', 'ManagedDelete', function() { |
assertEquals('settings', OptionsPage.getTopmostVisiblePage().name); |
}); |
+// If there are any downloads in progress when a profile is deleted, an extra |
+// warning message should be shown. |
+TEST_F('ManageProfileUITest', 'DeleteDownloadMessage', function() { |
+ // Override chrome.send to intercept requestProfileInProgressDownloads. |
+ var originalChromeSend = chrome.send; |
+ var requestCount = 0; |
+ chrome.send = function(message, args) { |
+ if (message === 'requestProfileInProgressDownloads') { |
+ // Count received message and ignore. |
+ ++requestCount; |
+ } else { |
+ originalChromeSend(message, args); |
+ } |
+ }; |
+ |
+ ManageProfileOverlay.showDeleteDialog(this.testProfileInfo_(false)); |
+ // Make sure we actually intercepted the request. |
+ assertEquals(1, requestCount); |
+ |
+ var addendumSingle = $('delete-profile-single-download-addendum'); |
+ var addendumMulti = $('delete-profile-multiple-downloads-addendum'); |
+ |
+ // Initially, the download warnings should be hidden. |
+ expectTrue(addendumSingle.hidden); |
+ expectTrue(addendumMulti.hidden); |
+ |
+ // If there is one download, the corresponding message should show up. |
+ ManageProfileOverlay.receiveDownloadCount(1); |
+ expectFalse(addendumSingle.hidden); |
+ expectTrue(addendumMulti.hidden); |
+ |
+ // If there are no downloads, both messages should be hidden. |
+ ManageProfileOverlay.receiveDownloadCount(0); |
+ expectTrue(addendumSingle.hidden); |
+ expectTrue(addendumMulti.hidden); |
+ |
+ // If there are multiple downloads, the corresponding message should show up. |
+ ManageProfileOverlay.receiveDownloadCount(2); |
+ expectTrue(addendumSingle.hidden); |
+ expectFalse(addendumMulti.hidden); |
+ |
+ chrome.send = originalChromeSend; |
+}); |
+ |
GEN('#endif // OS_CHROMEOS'); |