15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
51320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "chrome/common/extensions/manifest_tests/chrome_manifest_test.h"
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/command_line.h"
8f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)#include "extensions/common/extension.h"
93551c9c881056c480085172ff9840cab31610854Torne (Richard Coles)#include "extensions/common/manifest.h"
10d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)#include "extensions/common/manifest_constants.h"
11a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)#include "extensions/common/switches.h"
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "testing/gtest/include/gtest/gtest.h"
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
14d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles)namespace errors = extensions::manifest_errors;
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
161320f92c476a1ad9d19dba2a48c72b75566198e9Primiano TucciTEST_F(ChromeManifestTest, ExperimentalPermission) {
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  LoadAndExpectError("experimental.json", errors::kExperimentalFlagRequired);
182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  LoadAndExpectSuccess("experimental.json", extensions::Manifest::COMPONENT);
192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  LoadAndExpectSuccess("experimental.json", extensions::Manifest::INTERNAL,
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                       extensions::Extension::FROM_WEBSTORE);
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  CommandLine::ForCurrentProcess()->AppendSwitch(
22a36e5920737c6adbddd3e43b760e5de8431db6e0Torne (Richard Coles)      extensions::switches::kEnableExperimentalExtensionApis);
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  LoadAndExpectSuccess("experimental.json");
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
25