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#ifndef CHROME_COMMON_EXTENSIONS_EXTENSION_TEST_UTIL_H_ 6#define CHROME_COMMON_EXTENSIONS_EXTENSION_TEST_UTIL_H_ 7 8#include <string> 9 10#include "base/memory/ref_counted.h" 11#include "extensions/common/extension_builder.h" 12#include "extensions/common/manifest.h" 13 14namespace extensions { 15class Extension; 16 17// Newer functions go here. 18// TODO(mpcomplete): migrate older functions over. 19namespace extension_test_util { 20 21ExtensionBuilder& BuildExtension(ExtensionBuilder& builder); 22ExtensionBuilder& BuildExtensionWithPermissions(ExtensionBuilder& builder, 23 ListBuilder& permissions); 24 25} // namespace extension_test_util 26} // namespace extensions 27 28namespace extension_test_util { 29 30// Return a very simple extension with id |id|. 31scoped_refptr<extensions::Extension> CreateExtensionWithID(std::string id); 32 33// Helpers for loading manifests, |dir| is relative to chrome::DIR_TEST_DATA 34// followed by "extensions". 35scoped_refptr<extensions::Extension> LoadManifestUnchecked( 36 const std::string& dir, 37 const std::string& test_file, 38 extensions::Manifest::Location location, 39 int extra_flags, 40 const std::string& id, 41 std::string* error); 42 43scoped_refptr<extensions::Extension> LoadManifestUnchecked( 44 const std::string& dir, 45 const std::string& test_file, 46 extensions::Manifest::Location location, 47 int extra_flags, 48 std::string* error); 49 50scoped_refptr<extensions::Extension> LoadManifest( 51 const std::string& dir, 52 const std::string& test_file, 53 extensions::Manifest::Location location, 54 int extra_flags); 55 56scoped_refptr<extensions::Extension> LoadManifest(const std::string& dir, 57 const std::string& test_file, 58 int extra_flags); 59 60scoped_refptr<extensions::Extension> LoadManifestStrict( 61 const std::string& dir, 62 const std::string& test_file); 63 64scoped_refptr<extensions::Extension> LoadManifest(const std::string& dir, 65 const std::string& test_file); 66 67} // namespace extension_test_util 68 69#endif // CHROME_COMMON_EXTENSIONS_EXTENSION_TEST_UTIL_H_ 70