Index: chrome/browser/extensions/crx_installer_browsertest.cc |
diff --git a/chrome/browser/extensions/crx_installer_browsertest.cc b/chrome/browser/extensions/crx_installer_browsertest.cc |
index 105b4c686980899a738d5558821c4a46bb637ab2..a91684215e892fc8eea5ca9812459d926a65f9e5 100644 |
--- a/chrome/browser/extensions/crx_installer_browsertest.cc |
+++ b/chrome/browser/extensions/crx_installer_browsertest.cc |
@@ -25,6 +25,11 @@ |
#include "grit/generated_resources.h" |
#include "ui/base/l10n/l10n_util.h" |
+#if defined(OS_CHROMEOS) |
+#include "chrome/browser/chromeos/login/fake_user_manager.h" |
+#include "chrome/browser/chromeos/login/user_manager.h" |
+#endif |
+ |
class SkBitmap; |
namespace extensions { |
@@ -477,4 +482,20 @@ IN_PROC_BROWSER_TEST_F(ExtensionCrxInstallerTest, NonStrictManifestCheck) { |
EXPECT_TRUE(mock_prompt->did_succeed()); |
} |
+IN_PROC_BROWSER_TEST_F(ExtensionCrxInstallerTest, KioskOnlyTest) { |
+ base::FilePath crx_path = |
+ test_data_dir_.AppendASCII("kiosk/kiosk_only.crx"); |
+ EXPECT_FALSE(InstallExtension(crx_path, 0)); |
+#if defined(OS_CHROMEOS) |
+ // Simulate ChromeOS kiosk mode. |scoped_user_manager| will take over |
+ // lifetime of |user_manager|. |
+ chromeos::FakeUserManager* fake_user_manager = |
+ new chromeos::FakeUserManager(); |
+ fake_user_manager->AddKioskAppUser("example@example.com"); |
+ fake_user_manager->LoginUser("example@example.com"); |
+ chromeos::ScopedUserManagerEnabler scoped_user_manager(fake_user_manager); |
+ EXPECT_TRUE(InstallExtension(crx_path, 1)); |
+#endif |
+} |
+ |
} // namespace extensions |