Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1702)

Unified Diff: extensions/browser/info_map_unittest.cc

Issue 473913006: Move InfoMapTest to extensions_unittests (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: (info-map) similarity Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « extensions/BUILD.gn ('k') | extensions/extensions.gyp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: extensions/browser/info_map_unittest.cc
diff --git a/extensions/browser/info_map_unittest.cc b/extensions/browser/info_map_unittest.cc
index 7247706068c485ba319565dd9cd4b5e3cef8b7e9..5dfe7ded96c5c710c9186f4b47bf74b1699f20ac 100644
--- a/extensions/browser/info_map_unittest.cc
+++ b/extensions/browser/info_map_unittest.cc
@@ -2,15 +2,13 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "base/json/json_file_value_serializer.h"
#include "base/message_loop/message_loop.h"
#include "base/path_service.h"
-#include "chrome/common/chrome_paths.h"
#include "content/public/test/test_browser_thread.h"
#include "extensions/browser/info_map.h"
#include "extensions/common/extension.h"
+#include "extensions/common/extension_paths.h"
#include "extensions/common/manifest_constants.h"
-#include "extensions/common/permissions/permissions_data.h"
#include "testing/gtest/include/gtest/gtest.h"
using content::BrowserThread;
@@ -34,8 +32,7 @@ class InfoMapTest : public testing::Test {
// Returns a barebones test Extension object with the given name.
static scoped_refptr<Extension> CreateExtension(const std::string& name) {
base::FilePath path;
- PathService::Get(chrome::DIR_TEST_DATA, &path);
- path = path.AppendASCII("extensions");
+ PathService::Get(DIR_TEST_DATA, &path);
base::DictionaryValue manifest;
manifest.SetString(keys::kVersion, "1.0.0.0");
@@ -53,29 +50,6 @@ static scoped_refptr<Extension> CreateExtension(const std::string& name) {
return extension;
}
-static scoped_refptr<Extension> LoadManifest(const std::string& dir,
- const std::string& test_file) {
- base::FilePath path;
- PathService::Get(chrome::DIR_TEST_DATA, &path);
- path = path.AppendASCII("extensions").AppendASCII(dir).AppendASCII(test_file);
-
- JSONFileValueSerializer serializer(path);
- scoped_ptr<base::Value> result(serializer.Deserialize(NULL, NULL));
- if (!result)
- return NULL;
-
- std::string error;
- scoped_refptr<Extension> extension =
- Extension::Create(path,
- Manifest::INVALID_LOCATION,
- *static_cast<base::DictionaryValue*>(result.get()),
- Extension::NO_FLAGS,
- &error);
- EXPECT_TRUE(extension.get()) << error;
-
- return extension;
-}
-
// Test that the InfoMap handles refcounting properly.
TEST_F(InfoMapTest, RefCounting) {
scoped_refptr<InfoMap> info_map(new InfoMap());
@@ -123,68 +97,10 @@ TEST_F(InfoMapTest, Properties) {
EXPECT_EQ(extension2.get(), info_map->extensions().GetByID(extension2->id()));
}
-// Tests CheckURLAccessToExtensionPermission given both extension and app URLs.
-TEST_F(InfoMapTest, CheckPermissions) {
- scoped_refptr<InfoMap> info_map(new InfoMap());
-
- scoped_refptr<Extension> app(
- LoadManifest("manifest_tests", "valid_app.json"));
- scoped_refptr<Extension> extension(
- LoadManifest("manifest_tests", "tabs_extension.json"));
-
- GURL app_url("http://www.google.com/mail/foo.html");
- ASSERT_TRUE(app->is_app());
- ASSERT_TRUE(app->web_extent().MatchesURL(app_url));
-
- info_map->AddExtension(app.get(), base::Time(), false, false);
- info_map->AddExtension(extension.get(), base::Time(), false, false);
-
- // The app should have the notifications permission, either from a
- // chrome-extension URL or from its web extent.
- const Extension* match = info_map->extensions().GetExtensionOrAppByURL(
- app->GetResourceURL("a.html"));
- EXPECT_TRUE(match &&
- match->permissions_data()->HasAPIPermission(
- APIPermission::kNotifications));
- match = info_map->extensions().GetExtensionOrAppByURL(app_url);
- EXPECT_TRUE(match &&
- match->permissions_data()->HasAPIPermission(
- APIPermission::kNotifications));
- EXPECT_FALSE(
- match &&
- match->permissions_data()->HasAPIPermission(APIPermission::kTab));
-
- // The extension should have the tabs permission.
- match = info_map->extensions().GetExtensionOrAppByURL(
- extension->GetResourceURL("a.html"));
- EXPECT_TRUE(match &&
- match->permissions_data()->HasAPIPermission(APIPermission::kTab));
- EXPECT_FALSE(match &&
- match->permissions_data()->HasAPIPermission(
- APIPermission::kNotifications));
-
- // Random URL should not have any permissions.
- GURL evil_url("http://evil.com/a.html");
- match = info_map->extensions().GetExtensionOrAppByURL(evil_url);
- EXPECT_FALSE(match);
-}
-
-TEST_F(InfoMapTest, TestNotificationsDisabled) {
- scoped_refptr<InfoMap> info_map(new InfoMap());
- scoped_refptr<Extension> app(LoadManifest("manifest_tests",
- "valid_app.json"));
- info_map->AddExtension(app.get(), base::Time(), false, false);
-
- EXPECT_FALSE(info_map->AreNotificationsDisabled(app->id()));
- info_map->SetNotificationsDisabled(app->id(), true);
- EXPECT_TRUE(info_map->AreNotificationsDisabled(app->id()));
- info_map->SetNotificationsDisabled(app->id(), false);
-}
-
// Tests that extension URLs are properly mapped to local file paths.
TEST_F(InfoMapTest, MapUrlToLocalFilePath) {
scoped_refptr<InfoMap> info_map(new InfoMap());
- scoped_refptr<Extension> app(CreateExtension("app"));
+ scoped_refptr<Extension> app(CreateExtension("platform_app"));
info_map->AddExtension(app.get(), base::Time(), false, false);
// Non-extension URLs don't map to anything.
« no previous file with comments | « extensions/BUILD.gn ('k') | extensions/extensions.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698