// Copyright 2015 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "extensions/browser/extension_util.h" #include "extensions/common/extension.h" #include "extensions/common/manifest_handlers/incognito_info.h" #include "extensions/common/manifest_test.h" namespace extensions { using IncognitoManifestTest = ManifestTest; TEST_F(IncognitoManifestTest, IncognitoNotAllowed) { scoped_refptr<Extension> extension( LoadAndExpectSuccess("incognito_not_allowed.json")); EXPECT_FALSE(IncognitoInfo::IsIncognitoAllowed(extension.get())); EXPECT_FALSE(IncognitoInfo::IsSplitMode(extension.get())); EXPECT_FALSE(util::CanBeIncognitoEnabled(extension.get())); } TEST_F(IncognitoManifestTest, IncognitoSpanning) { scoped_refptr<Extension> extension( LoadAndExpectSuccess("incognito_spanning.json")); EXPECT_TRUE(IncognitoInfo::IsIncognitoAllowed(extension.get())); EXPECT_FALSE(IncognitoInfo::IsSplitMode(extension.get())); EXPECT_TRUE(util::CanBeIncognitoEnabled(extension.get())); } TEST_F(IncognitoManifestTest, IncognitoSplit) { scoped_refptr<Extension> extension( LoadAndExpectSuccess("incognito_split.json")); EXPECT_TRUE(IncognitoInfo::IsIncognitoAllowed(extension.get())); EXPECT_TRUE(IncognitoInfo::IsSplitMode(extension.get())); EXPECT_TRUE(util::CanBeIncognitoEnabled(extension.get())); } TEST_F(IncognitoManifestTest, IncognitoUnspecified) { scoped_refptr<Extension> extension(LoadAndExpectSuccess("minimal.json")); EXPECT_TRUE(IncognitoInfo::IsIncognitoAllowed(extension.get())); EXPECT_FALSE(IncognitoInfo::IsSplitMode(extension.get())); EXPECT_TRUE(util::CanBeIncognitoEnabled(extension.get())); } } // namespace extensions