Chromium Code Reviews| Index: chrome/browser/extensions/permissions_updater_unittest.cc |
| diff --git a/chrome/browser/extensions/permissions_updater_unittest.cc b/chrome/browser/extensions/permissions_updater_unittest.cc |
| index ea5c48f27a6992a542e69e97f71e6d87942e899c..1e35bce67914b9ea7b6d9b715e77e152facf3d77 100644 |
| --- a/chrome/browser/extensions/permissions_updater_unittest.cc |
| +++ b/chrome/browser/extensions/permissions_updater_unittest.cc |
| @@ -7,6 +7,9 @@ |
| #include "base/memory/ref_counted.h" |
| #include "base/path_service.h" |
| #include "base/run_loop.h" |
| +#if defined(OS_WIN) |
| +#include "base/string_util.h" |
| +#endif |
| #include "base/values.h" |
| #include "chrome/browser/extensions/extension_service.h" |
| #include "chrome/browser/extensions/extension_service_unittest.h" |
| @@ -14,6 +17,7 @@ |
| #include "chrome/common/chrome_notification_types.h" |
| #include "chrome/common/chrome_paths.h" |
| #include "chrome/common/extensions/extension.h" |
| +#include "chrome/common/extensions/extension_test_util.h" |
| #include "chrome/common/extensions/permissions/permission_set.h" |
| #include "chrome/test/base/testing_profile.h" |
| #include "content/public/browser/notification_observer.h" |
| @@ -21,6 +25,8 @@ |
| #include "content/public/browser/notification_service.h" |
| #include "testing/gtest/include/gtest/gtest.h" |
| +using extension_test_util::LoadManifest; |
| + |
| namespace extensions { |
| namespace { |
| @@ -87,24 +93,19 @@ class PermissionsUpdaterListener : public content::NotificationObserver { |
| class PermissionsUpdaterTest : public ExtensionServiceTestBase { |
| }; |
| -scoped_refptr<Extension> LoadManifest(std::string* error) { |
| +scoped_refptr<Extension> LoadOurManifest() { |
| base::FilePath path; |
| - PathService::Get(chrome::DIR_TEST_DATA, &path); |
| - path = path.AppendASCII("extensions") |
| - .AppendASCII("api_test") |
| + path = path.AppendASCII("api_test") |
| .AppendASCII("permissions") |
| - .AppendASCII("optional") |
| - .AppendASCII("manifest.json"); |
| - |
| - JSONFileValueSerializer serializer(path); |
| - scoped_ptr<Value> result(serializer.Deserialize(NULL, error)); |
| - if (!result) |
| - return NULL; |
| - |
| - scoped_refptr<Extension> extension = Extension::Create( |
| - path.DirName(), Manifest::INTERNAL, |
| - *static_cast<DictionaryValue*>(result.get()), Extension::NO_FLAGS, error); |
| - return extension; |
| + .AppendASCII("optional"); |
| +#if defined(OS_WIN) |
|
Matt Perry
2013/04/25 19:59:21
Just use FilePath::AsUTF8Unsafe()
vabr (Chromium)
2013/04/26 09:58:52
Done.
|
| + // In this test, the paths are in ASCII anyway. |
| + const std::string path_string(WideToASCII(path.value())); |
| +#else |
| + const std::string& path_string(path.value()); |
| +#endif |
| + return LoadManifest( |
| + path_string, "manifest.json", Manifest::INTERNAL, Extension::NO_FLAGS); |
| } |
| void AddPattern(URLPatternSet* extent, const std::string& pattern) { |
| @@ -122,9 +123,8 @@ TEST_F(PermissionsUpdaterTest, AddAndRemovePermissions) { |
| InitializeEmptyExtensionService(); |
| // Load the test extension. |
| - std::string error; |
| - scoped_refptr<Extension> extension = LoadManifest(&error); |
| - ASSERT_TRUE(error.empty()) << error; |
| + scoped_refptr<Extension> extension = LoadOurManifest(); |
| + ASSERT_TRUE(extension.get()); |
| APIPermissionSet default_apis; |
| default_apis.insert(APIPermission::kManagement); |