1 // Copyright 2014 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.
5 #include "extensions/common/test_util.h"
7 #include "base/json/json_reader.h"
8 #include "base/values.h"
9 #include "extensions/common/extension.h"
10 #include "extensions/common/extension_builder.h"
11 #include "extensions/common/value_builder.h"
12 #include "testing/gtest/include/gtest/gtest.h"
14 namespace extensions
{
17 ExtensionBuilder
& BuildExtension(ExtensionBuilder
& builder
) {
19 .SetManifest(DictionaryBuilder()
20 .Set("name", "Test extension")
21 .Set("version", "1.0")
22 .Set("manifest_version", 2));
25 scoped_refptr
<Extension
> CreateExtensionWithID(const std::string
& id
) {
26 return ExtensionBuilder()
28 DictionaryBuilder().Set("name", "test").Set("version", "0.1"))
33 scoped_ptr
<base::DictionaryValue
> ParseJsonDictionaryWithSingleQuotes(
35 std::replace(json
.begin(), json
.end(), '\'', '"');
36 std::string error_msg
;
37 scoped_ptr
<base::Value
> result(base::JSONReader::ReadAndReturnError(
38 json
, base::JSON_ALLOW_TRAILING_COMMAS
, NULL
, &error_msg
));
39 scoped_ptr
<base::DictionaryValue
> result_dict
;
40 if (result
&& result
->IsType(base::Value::TYPE_DICTIONARY
)) {
41 result_dict
.reset(static_cast<base::DictionaryValue
*>(result
.release()));
43 ADD_FAILURE() << "Failed to parse \"" << json
<< "\": " << error_msg
;
44 result_dict
.reset(new base::DictionaryValue());
46 return result_dict
.Pass();
49 } // namespace test_util
50 } // namespace extensions