| Index: chrome/browser/ui/cocoa/extensions/extension_install_view_controller_unittest.mm
|
| diff --git a/chrome/browser/ui/cocoa/extensions/extension_install_view_controller_unittest.mm b/chrome/browser/ui/cocoa/extensions/extension_install_view_controller_unittest.mm
|
| index a15c22a3571cfdfca51a8cbbb95e558c4380d575..733d2766d77d1441e1269de872929b979ae53c2d 100644
|
| --- a/chrome/browser/ui/cocoa/extensions/extension_install_view_controller_unittest.mm
|
| +++ b/chrome/browser/ui/cocoa/extensions/extension_install_view_controller_unittest.mm
|
| @@ -15,6 +15,7 @@
|
| #include "chrome/browser/ui/browser.h"
|
| #import "chrome/browser/ui/cocoa/extensions/extension_install_prompt_test_utils.h"
|
| #include "chrome/browser/ui/cocoa/test/cocoa_profile_test.h"
|
| +#include "chrome/browser/ui/cocoa/test/run_loop_testing.h"
|
| #include "extensions/common/extension.h"
|
| #include "extensions/common/permissions/permission_message_provider.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
| @@ -377,3 +378,31 @@ TEST_F(ExtensionInstallViewControllerTest, PermissionsDetails) {
|
| objectValueForTableColumn:nil
|
| byItem:[outlineView itemAtRow:2]]);
|
| }
|
| +
|
| +// Test that install button is disabled for a short time period.
|
| +TEST_F(ExtensionInstallViewControllerTest, DelayedInstalls) {
|
| + [ExtensionInstallViewController setInstallDelayForTesting:0];
|
| + MockExtensionInstallViewDelegate delegate;
|
| +
|
| + std::unique_ptr<ExtensionInstallPrompt::Prompt> prompt(
|
| + chrome::BuildExtensionInstallPrompt(extension_.get()));
|
| +
|
| + base::scoped_nsobject<ExtensionInstallViewController> controller(
|
| + [[ExtensionInstallViewController alloc]
|
| + initWithProfile:profile()
|
| + navigator:browser()
|
| + delegate:&delegate
|
| + prompt:std::move(prompt)]);
|
| +
|
| + [controller view]; // Force nib load.
|
| +
|
| + // Check initial button states.
|
| + NSButton* cancelButton_ = [controller cancelButton];
|
| + NSButton* okButton_ = [controller okButton];
|
| + EXPECT_TRUE([cancelButton_ isEnabled]);
|
| + EXPECT_FALSE([okButton_ isEnabled]);
|
| +
|
| + // Check OK button state after timeout to verifiy that it is enabled.
|
| + chrome::testing::NSRunLoopRunAllPending();
|
| + EXPECT_TRUE([okButton_ isEnabled]);
|
| +}
|
|
|