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

Side by Side Diff: extensions/browser/api_test_utils.cc

Issue 779083002: Move system.display tests to extensions/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Removed ash dependency Created 6 years 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "extensions/browser/api_test_utils.h" 5 #include "extensions/browser/api_test_utils.h"
6 6
7 #include "base/json/json_reader.h" 7 #include "base/json/json_reader.h"
8 #include "base/memory/scoped_ptr.h" 8 #include "base/memory/scoped_ptr.h"
9 #include "base/values.h" 9 #include "base/values.h"
10 #include "components/crx_file/id_util.h"
10 #include "content/public/browser/browser_context.h" 11 #include "content/public/browser/browser_context.h"
11 #include "content/public/test/test_utils.h" 12 #include "content/public/test/test_utils.h"
12 #include "extensions/browser/extension_function.h" 13 #include "extensions/browser/extension_function.h"
13 #include "extensions/browser/extension_function_dispatcher.h" 14 #include "extensions/browser/extension_function_dispatcher.h"
14 #include "extensions/common/extension_builder.h" 15 #include "extensions/common/extension_builder.h"
15 #include "testing/gtest/include/gtest/gtest.h" 16 #include "testing/gtest/include/gtest/gtest.h"
16 17
17 using extensions::ExtensionFunctionDispatcher; 18 using extensions::ExtensionFunctionDispatcher;
18 19
19 namespace { 20 namespace {
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
70 if (should_post_quit_) { 71 if (should_post_quit_) {
71 base::MessageLoopForUI::current()->Quit(); 72 base::MessageLoopForUI::current()->Quit();
72 } 73 }
73 } 74 }
74 75
75 private: 76 private:
76 scoped_ptr<bool> response_; 77 scoped_ptr<bool> response_;
77 bool should_post_quit_; 78 bool should_post_quit_;
78 }; 79 };
79 80
81 scoped_refptr<extensions::Extension> CreateExtension(
James Cook 2014/12/19 18:07:03 Can you move this out of the anonymous namespace a
tmpsantos 2014/12/23 02:09:38 Acknowledged.
82 extensions::Manifest::Location location,
83 base::DictionaryValue* test_extension_value,
84 const std::string& id_input) {
85 std::string error;
86 const base::FilePath test_extension_path;
87 std::string id;
88 if (!id_input.empty())
89 id = crx_file::id_util::GenerateId(id_input);
90 scoped_refptr<extensions::Extension> extension(extensions::Extension::Create(
91 test_extension_path, location, *test_extension_value,
92 extensions::Extension::NO_FLAGS, id, &error));
93 EXPECT_TRUE(error.empty()) << "Could not parse test extension " << error;
94 return extension;
95 }
96
80 } // namespace 97 } // namespace
81 98
82 namespace extensions { 99 namespace extensions {
83 100
84 namespace api_test_utils { 101 namespace api_test_utils {
85 102
103 base::DictionaryValue* ParseDictionary(const std::string& data) {
James Cook 2014/12/19 18:07:03 Likewise, can the extension_function_utils.cc vers
tmpsantos 2014/12/23 02:09:38 Acknowledged.
104 base::Value* result = ParseJSON(data);
105 base::DictionaryValue* dict = NULL;
106 result->GetAsDictionary(&dict);
107 return dict;
108 }
109
110 bool GetBoolean(const base::DictionaryValue* val, const std::string& key) {
111 bool result = false;
112 if (!val->GetBoolean(key, &result))
113 ADD_FAILURE() << key << " does not exist or is not a boolean.";
114 return result;
115 }
116
117 int GetInteger(const base::DictionaryValue* val, const std::string& key) {
118 int result = 0;
119 if (!val->GetInteger(key, &result))
120 ADD_FAILURE() << key << " does not exist or is not an integer.";
121 return result;
122 }
123
124 std::string GetString(const base::DictionaryValue* val,
125 const std::string& key) {
126 std::string result;
127 if (!val->GetString(key, &result))
128 ADD_FAILURE() << key << " does not exist or is not a string.";
129 return result;
130 }
131
132 scoped_refptr<Extension> CreateExtension(
133 base::DictionaryValue* test_extension_value) {
134 return ::CreateExtension(Manifest::INTERNAL, test_extension_value,
135 std::string());
136 }
137
86 base::Value* RunFunctionWithDelegateAndReturnSingleResult( 138 base::Value* RunFunctionWithDelegateAndReturnSingleResult(
87 UIThreadExtensionFunction* function, 139 UIThreadExtensionFunction* function,
88 const std::string& args, 140 const std::string& args,
89 content::BrowserContext* context, 141 content::BrowserContext* context,
90 scoped_ptr<extensions::ExtensionFunctionDispatcher> dispatcher) { 142 scoped_ptr<extensions::ExtensionFunctionDispatcher> dispatcher) {
91 return RunFunctionWithDelegateAndReturnSingleResult( 143 return RunFunctionWithDelegateAndReturnSingleResult(
92 function, args, context, dispatcher.Pass(), NONE); 144 function, args, context, dispatcher.Pass(), NONE);
93 } 145 }
94 146
95 base::Value* RunFunctionWithDelegateAndReturnSingleResult( 147 base::Value* RunFunctionWithDelegateAndReturnSingleResult(
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
196 response_delegate.set_should_post_quit(true); 248 response_delegate.set_should_post_quit(true);
197 content::RunMessageLoop(); 249 content::RunMessageLoop();
198 } 250 }
199 251
200 EXPECT_TRUE(response_delegate.HasResponse()); 252 EXPECT_TRUE(response_delegate.HasResponse());
201 return response_delegate.GetResponse(); 253 return response_delegate.GetResponse();
202 } 254 }
203 255
204 } // namespace api_test_utils 256 } // namespace api_test_utils
205 } // namespace extensions 257 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698