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 
7 #include "base/command_line.h"
8 #include "extensions/common/extension.h"
9 #include "extensions/common/manifest_constants.h"
10 #include "extensions/common/manifest_handlers/app_isolation_info.h"
11 #include "extensions/common/switches.h"
12 #include "testing/gtest/include/gtest/gtest.h"
13 
14 namespace extensions {
15 
16 namespace errors = manifest_errors;
17 
18 class IsolatedAppsManifestTest : public ChromeManifestTest {
19 };
20 
TEST_F(IsolatedAppsManifestTest,IsolatedApps)21 TEST_F(IsolatedAppsManifestTest, IsolatedApps) {
22   LoadAndExpectWarning(
23       "isolated_app_valid.json",
24       "'experimental' requires the 'experimental-extension-apis' "
25       "command line switch to be enabled.");
26 
27   base::CommandLine::ForCurrentProcess()->AppendSwitch(
28       extensions::switches::kEnableExperimentalExtensionApis);
29   scoped_refptr<Extension> extension2(
30       LoadAndExpectSuccess("isolated_app_valid.json"));
31   EXPECT_TRUE(AppIsolationInfo::HasIsolatedStorage(extension2.get()));
32 }
33 
34 }  // namespace extensions
35