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