| 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]);
|
| +}
|
|
|