Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(465)

Unified Diff: chrome/browser/ui/cocoa/intents/web_intent_picker_view_controller_browsertest.mm

Issue 11009017: Mac Web Intents Part 11: Progress view (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: a Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/cocoa/intents/web_intent_picker_view_controller_browsertest.mm
diff --git a/chrome/browser/ui/cocoa/intents/web_intent_picker_view_controller_browsertest.mm b/chrome/browser/ui/cocoa/intents/web_intent_picker_view_controller_browsertest.mm
index 4f0c1bcc3d6191433d516bf9584c15fe603397f8..dbee2f73ab05821c5b9ed1683f1ac30df1692392 100644
--- a/chrome/browser/ui/cocoa/intents/web_intent_picker_view_controller_browsertest.mm
+++ b/chrome/browser/ui/cocoa/intents/web_intent_picker_view_controller_browsertest.mm
@@ -7,7 +7,10 @@
#include "chrome/browser/ui/cocoa/constrained_window/constrained_window_sheet_controller.h"
#import "chrome/browser/ui/cocoa/intents/web_intent_picker_cocoa2.h"
#import "chrome/browser/ui/cocoa/intents/web_intent_picker_view_controller.h"
+#import "chrome/browser/ui/cocoa/intents/web_intent_view_controller_message.h"
+#import "chrome/browser/ui/cocoa/intents/web_intent_view_controller_progress.h"
#include "chrome/browser/ui/cocoa/run_loop_testing.h"
+#import "chrome/browser/ui/cocoa/spinner_progress_indicator.h"
#include "chrome/browser/ui/intents/web_intent_picker_delegate_mock.h"
#include "chrome/browser/ui/tab_contents/tab_contents.h"
#include "chrome/browser/ui/tabs/tab_strip_model.h"
@@ -58,6 +61,16 @@ IN_PROC_BROWSER_TEST_F(WebIntentPickerViewControllerTest, View) {
[[controller_ view] window]);
}
+// Test the "waiting for chrome web store" state.
+IN_PROC_BROWSER_TEST_F(WebIntentPickerViewControllerTest, Waiting) {
+ model_.SetWaitingForSuggestions(true);
+ EXPECT_EQ(PICKER_STATE_WAITING, [controller_ state]);
+ WebIntentViewControllerProgress* progress_controller =
+ [controller_ progressViewController];
+ EXPECT_NSEQ([controller_ view], [[progress_controller view] superview]);
+ EXPECT_TRUE([[progress_controller progressIndicator] isIndeterminate]);
+}
+
// Test the "no matching services" state.
IN_PROC_BROWSER_TEST_F(WebIntentPickerViewControllerTest, NoServices) {
model_.SetWaitingForSuggestions(false);
@@ -66,3 +79,29 @@ IN_PROC_BROWSER_TEST_F(WebIntentPickerViewControllerTest, NoServices) {
[controller_ messageViewController];
EXPECT_NSEQ([controller_ view], [[message_controller view] superview]);
}
+
+// Test the "installing a service" state.
+IN_PROC_BROWSER_TEST_F(WebIntentPickerViewControllerTest, Installing) {
+ // Add a suggested service.
+ std::vector<WebIntentPickerModel::SuggestedExtension> suggestions;
+ WebIntentPickerModel::SuggestedExtension suggestion(
+ ASCIIToUTF16("Title"), "1234", 2);
+ suggestions.push_back(suggestion);
+ model_.AddSuggestedExtensions(suggestions);
+
+ // Set a pending extension download.
+ model_.SetWaitingForSuggestions(false);
+ model_.SetPendingInstallExtensionId(suggestion.id);
+ EXPECT_EQ(PICKER_STATE_INSTALLING_EXTENSION, [controller_ state]);
+
+ WebIntentViewControllerProgress* progress_controller =
+ [controller_ progressViewController];
+ EXPECT_NSEQ([controller_ view], [[progress_controller view] superview]);
+ SpinnerProgressIndicator* progress_indicator =
+ [progress_controller progressIndicator];
+ EXPECT_FALSE([progress_indicator isIndeterminate]);
+
+ int percent_done = 50;
+ model_.SetPendingInstallDownloadPercent(percent_done);
+ EXPECT_EQ(percent_done, [progress_indicator percentDone]);
+}

Powered by Google App Engine
This is Rietveld 408576698