Home | History | Annotate | Download | only in manifest_tests
      1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #include "chrome/common/extensions/manifest_tests/chrome_manifest_test.h"
      6 #include "extensions/common/extension.h"
      7 #include "extensions/common/manifest_constants.h"
      8 #include "extensions/common/manifest_handlers/kiosk_mode_info.h"
      9 #include "testing/gtest/include/gtest/gtest.h"
     10 
     11 namespace extensions {
     12 
     13 class ExtensionManifestKioskModeTest : public ChromeManifestTest {
     14 };
     15 
     16 TEST_F(ExtensionManifestKioskModeTest, InvalidKioskEnabled) {
     17   LoadAndExpectError("kiosk_enabled_invalid.json",
     18                      manifest_errors::kInvalidKioskEnabled);
     19 }
     20 
     21 TEST_F(ExtensionManifestKioskModeTest, KioskEnabledHostedApp) {
     22   scoped_refptr<Extension> extension(
     23       LoadAndExpectSuccess("kiosk_enabled_hosted_app.json"));
     24   EXPECT_FALSE(KioskModeInfo::IsKioskEnabled(extension.get()));
     25 }
     26 
     27 TEST_F(ExtensionManifestKioskModeTest, KioskEnabledPackagedApp) {
     28   scoped_refptr<Extension> extension(
     29       LoadAndExpectSuccess("kiosk_enabled_packaged_app.json"));
     30   EXPECT_FALSE(KioskModeInfo::IsKioskEnabled(extension.get()));
     31 }
     32 
     33 TEST_F(ExtensionManifestKioskModeTest, KioskEnabledExtension) {
     34   scoped_refptr<Extension> extension(
     35       LoadAndExpectSuccess("kiosk_enabled_extension.json"));
     36   EXPECT_FALSE(KioskModeInfo::IsKioskEnabled(extension.get()));
     37 }
     38 
     39 TEST_F(ExtensionManifestKioskModeTest, KioskEnabledPlatformApp) {
     40   scoped_refptr<Extension> extension(
     41       LoadAndExpectSuccess("kiosk_enabled_platform_app.json"));
     42   EXPECT_TRUE(KioskModeInfo::IsKioskEnabled(extension.get()));
     43 }
     44 
     45 TEST_F(ExtensionManifestKioskModeTest, KioskDisabledPlatformApp) {
     46   scoped_refptr<Extension> extension(
     47       LoadAndExpectSuccess("kiosk_disabled_platform_app.json"));
     48   EXPECT_FALSE(KioskModeInfo::IsKioskEnabled(extension.get()));
     49 }
     50 
     51 TEST_F(ExtensionManifestKioskModeTest, KioskDefaultPlatformApp) {
     52   scoped_refptr<Extension> extension(
     53       LoadAndExpectSuccess("kiosk_default_platform_app.json"));
     54   EXPECT_FALSE(KioskModeInfo::IsKioskEnabled(extension.get()));
     55   EXPECT_FALSE(KioskModeInfo::IsKioskOnly(extension.get()));
     56 }
     57 
     58 TEST_F(ExtensionManifestKioskModeTest, KioskEnabledDefaultRequired) {
     59   scoped_refptr<Extension> extension(
     60       LoadAndExpectSuccess("kiosk_enabled_platform_app.json"));
     61   EXPECT_TRUE(KioskModeInfo::IsKioskEnabled(extension.get()));
     62   EXPECT_FALSE(KioskModeInfo::IsKioskOnly(extension.get()));
     63 }
     64 
     65 TEST_F(ExtensionManifestKioskModeTest, KioskOnlyPlatformApp) {
     66   scoped_refptr<Extension> extension(
     67       LoadAndExpectSuccess("kiosk_only_platform_app.json"));
     68   EXPECT_TRUE(KioskModeInfo::IsKioskOnly(extension.get()));
     69 }
     70 
     71 TEST_F(ExtensionManifestKioskModeTest, KioskOnlyInvalid) {
     72   LoadAndExpectError("kiosk_only_invalid.json",
     73                      manifest_errors::kInvalidKioskOnly);
     74 }
     75 
     76 TEST_F(ExtensionManifestKioskModeTest, KioskOnlyButNotEnabled) {
     77   LoadAndExpectError("kiosk_only_not_enabled.json",
     78                      manifest_errors::kInvalidKioskOnlyButNotEnabled);
     79 }
     80 
     81 TEST_F(ExtensionManifestKioskModeTest, KioskOnlyHostedApp) {
     82   scoped_refptr<Extension> extension(
     83       LoadAndExpectSuccess("kiosk_only_hosted_app.json"));
     84   EXPECT_FALSE(KioskModeInfo::IsKioskOnly(extension.get()));
     85 }
     86 
     87 TEST_F(ExtensionManifestKioskModeTest, KioskOnlyPackagedApp) {
     88   scoped_refptr<Extension> extension(
     89       LoadAndExpectSuccess("kiosk_only_packaged_app.json"));
     90   EXPECT_FALSE(KioskModeInfo::IsKioskOnly(extension.get()));
     91 }
     92 
     93 TEST_F(ExtensionManifestKioskModeTest, KioskOnlyExtension) {
     94   scoped_refptr<Extension> extension(
     95       LoadAndExpectSuccess("kiosk_only_extension.json"));
     96   EXPECT_FALSE(KioskModeInfo::IsKioskOnly(extension.get()));
     97 }
     98 
     99 }  // namespace extensions
    100