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/extension.h"
6#include "chrome/common/extensions/extension_manifest_constants.h"
7#include "chrome/common/extensions/manifest_handlers/kiosk_enabled_info.h"
8#include "chrome/common/extensions/manifest_tests/extension_manifest_test.h"
9#include "testing/gtest/include/gtest/gtest.h"
10
11namespace extensions {
12
13class ExtensionManifestKioskEnabledTest : public ExtensionManifestTest {
14};
15
16TEST_F(ExtensionManifestKioskEnabledTest, InvalidKioskEnabled) {
17  LoadAndExpectError("kiosk_enabled_invalid.json",
18                     extension_manifest_errors::kInvalidKioskEnabled);
19}
20
21TEST_F(ExtensionManifestKioskEnabledTest, KioskEnabledHostedApp) {
22  scoped_refptr<Extension> extension(
23      LoadAndExpectSuccess("kiosk_enabled_hosted_app.json"));
24  EXPECT_FALSE(KioskEnabledInfo::IsKioskEnabled(extension.get()));
25}
26
27TEST_F(ExtensionManifestKioskEnabledTest, KioskEnabledPackagedApp) {
28  scoped_refptr<Extension> extension(
29      LoadAndExpectSuccess("kiosk_enabled_packaged_app.json"));
30  EXPECT_FALSE(KioskEnabledInfo::IsKioskEnabled(extension.get()));
31}
32
33TEST_F(ExtensionManifestKioskEnabledTest, KioskEnabledExtension) {
34  scoped_refptr<Extension> extension(
35      LoadAndExpectSuccess("kiosk_enabled_extension.json"));
36  EXPECT_FALSE(KioskEnabledInfo::IsKioskEnabled(extension.get()));
37}
38
39TEST_F(ExtensionManifestKioskEnabledTest, KioskEnabledPlatformApp) {
40  scoped_refptr<Extension> extension(
41      LoadAndExpectSuccess("kiosk_enabled_platform_app.json"));
42  EXPECT_TRUE(KioskEnabledInfo::IsKioskEnabled(extension.get()));
43}
44
45TEST_F(ExtensionManifestKioskEnabledTest, KioskDisabledPlatformApp) {
46  scoped_refptr<Extension> extension(
47      LoadAndExpectSuccess("kiosk_disabled_platform_app.json"));
48  EXPECT_FALSE(KioskEnabledInfo::IsKioskEnabled(extension.get()));
49}
50
51TEST_F(ExtensionManifestKioskEnabledTest, KioskDefaultPlatformApp) {
52  scoped_refptr<Extension> extension(
53      LoadAndExpectSuccess("kiosk_default_platform_app.json"));
54  EXPECT_FALSE(KioskEnabledInfo::IsKioskEnabled(extension.get()));
55}
56
57}  // namespace extensions
58