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

Side by Side Diff: content/browser/android/java/gin_java_method_invocation_helper_unittest.cc

Issue 1874893002: Convert //content/browser from scoped_ptr to std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 8 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 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 "content/browser/android/java/gin_java_method_invocation_helper.h" 5 #include "content/browser/android/java/gin_java_method_invocation_helper.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include "base/android/jni_android.h" 9 #include "base/android/jni_android.h"
10 #include "base/macros.h" 10 #include "base/macros.h"
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
106 } // namespace 106 } // namespace
107 107
108 TEST_F(GinJavaMethodInvocationHelperTest, RetrievalOfObjectsNoObjects) { 108 TEST_F(GinJavaMethodInvocationHelperTest, RetrievalOfObjectsNoObjects) {
109 base::ListValue no_objects; 109 base::ListValue no_objects;
110 for (int i = 0; i < 10; ++i) { 110 for (int i = 0; i < 10; ++i) {
111 no_objects.AppendInteger(i); 111 no_objects.AppendInteger(i);
112 } 112 }
113 113
114 scoped_refptr<GinJavaMethodInvocationHelper> helper = 114 scoped_refptr<GinJavaMethodInvocationHelper> helper =
115 new GinJavaMethodInvocationHelper( 115 new GinJavaMethodInvocationHelper(
116 scoped_ptr<GinJavaMethodInvocationHelper::ObjectDelegate>( 116 std::unique_ptr<GinJavaMethodInvocationHelper::ObjectDelegate>(
117 new NullObjectDelegate()), 117 new NullObjectDelegate()),
118 "foo", 118 "foo", no_objects);
119 no_objects);
120 CountingDispatcherDelegate counter; 119 CountingDispatcherDelegate counter;
121 helper->Init(&counter); 120 helper->Init(&counter);
122 counter.AssertInvocationsCount(0, 0); 121 counter.AssertInvocationsCount(0, 0);
123 } 122 }
124 123
125 TEST_F(GinJavaMethodInvocationHelperTest, RetrievalOfObjectsHaveObjects) { 124 TEST_F(GinJavaMethodInvocationHelperTest, RetrievalOfObjectsHaveObjects) {
126 base::ListValue objects; 125 base::ListValue objects;
127 objects.AppendInteger(100); 126 objects.AppendInteger(100);
128 objects.Append(GinJavaBridgeValue::CreateObjectIDValue(1).release()); 127 objects.Append(GinJavaBridgeValue::CreateObjectIDValue(1).release());
129 base::ListValue* sub_list = new base::ListValue(); 128 base::ListValue* sub_list = new base::ListValue();
(...skipping 10 matching lines...) Expand all
140 sub_list_with_dict->Append(sub_sub_dict); 139 sub_list_with_dict->Append(sub_sub_dict);
141 objects.Append(sub_list_with_dict); 140 objects.Append(sub_list_with_dict);
142 base::DictionaryValue* sub_dict_with_list = new base::DictionaryValue(); 141 base::DictionaryValue* sub_dict_with_list = new base::DictionaryValue();
143 base::ListValue* sub_sub_list = new base::ListValue(); 142 base::ListValue* sub_sub_list = new base::ListValue();
144 sub_sub_list->Append(GinJavaBridgeValue::CreateObjectIDValue(5).release()); 143 sub_sub_list->Append(GinJavaBridgeValue::CreateObjectIDValue(5).release());
145 sub_dict_with_list->Set("1", sub_sub_list); 144 sub_dict_with_list->Set("1", sub_sub_list);
146 objects.Append(sub_dict_with_list); 145 objects.Append(sub_dict_with_list);
147 146
148 scoped_refptr<GinJavaMethodInvocationHelper> helper = 147 scoped_refptr<GinJavaMethodInvocationHelper> helper =
149 new GinJavaMethodInvocationHelper( 148 new GinJavaMethodInvocationHelper(
150 scoped_ptr<GinJavaMethodInvocationHelper::ObjectDelegate>( 149 std::unique_ptr<GinJavaMethodInvocationHelper::ObjectDelegate>(
151 new NullObjectDelegate()), 150 new NullObjectDelegate()),
152 "foo", 151 "foo", objects);
153 objects);
154 CountingDispatcherDelegate counter; 152 CountingDispatcherDelegate counter;
155 helper->Init(&counter); 153 helper->Init(&counter);
156 counter.AssertInvocationsCount(1, 6); 154 counter.AssertInvocationsCount(1, 6);
157 } 155 }
158 156
159 namespace { 157 namespace {
160 158
161 class ObjectIsGoneObjectDelegate : public NullObjectDelegate { 159 class ObjectIsGoneObjectDelegate : public NullObjectDelegate {
162 public: 160 public:
163 ObjectIsGoneObjectDelegate() : 161 ObjectIsGoneObjectDelegate() :
(...skipping 23 matching lines...) Expand all
187 const JavaMethod* FindMethod(const std::string& method_name, 185 const JavaMethod* FindMethod(const std::string& method_name,
188 size_t num_parameters) override { 186 size_t num_parameters) override {
189 return method_.get(); 187 return method_.get();
190 } 188 }
191 189
192 bool get_local_ref_called() { return get_local_ref_called_; } 190 bool get_local_ref_called() { return get_local_ref_called_; }
193 191
194 const std::string& get_method_name() { return method_->name(); } 192 const std::string& get_method_name() { return method_->name(); }
195 193
196 protected: 194 protected:
197 scoped_ptr<JavaMethod> method_; 195 std::unique_ptr<JavaMethod> method_;
198 bool get_local_ref_called_; 196 bool get_local_ref_called_;
199 197
200 private: 198 private:
201 DISALLOW_COPY_AND_ASSIGN(ObjectIsGoneObjectDelegate); 199 DISALLOW_COPY_AND_ASSIGN(ObjectIsGoneObjectDelegate);
202 }; 200 };
203 201
204 } // namespace 202 } // namespace
205 203
206 TEST_F(GinJavaMethodInvocationHelperTest, HandleObjectIsGone) { 204 TEST_F(GinJavaMethodInvocationHelperTest, HandleObjectIsGone) {
207 base::ListValue no_objects; 205 base::ListValue no_objects;
208 ObjectIsGoneObjectDelegate* object_delegate = 206 ObjectIsGoneObjectDelegate* object_delegate =
209 new ObjectIsGoneObjectDelegate(); 207 new ObjectIsGoneObjectDelegate();
210 scoped_refptr<GinJavaMethodInvocationHelper> helper = 208 scoped_refptr<GinJavaMethodInvocationHelper> helper =
211 new GinJavaMethodInvocationHelper( 209 new GinJavaMethodInvocationHelper(
212 scoped_ptr<GinJavaMethodInvocationHelper::ObjectDelegate>( 210 std::unique_ptr<GinJavaMethodInvocationHelper::ObjectDelegate>(
213 object_delegate), 211 object_delegate),
214 object_delegate->get_method_name(), 212 object_delegate->get_method_name(), no_objects);
215 no_objects);
216 NullDispatcherDelegate dispatcher; 213 NullDispatcherDelegate dispatcher;
217 helper->Init(&dispatcher); 214 helper->Init(&dispatcher);
218 EXPECT_FALSE(object_delegate->get_local_ref_called()); 215 EXPECT_FALSE(object_delegate->get_local_ref_called());
219 EXPECT_EQ(kGinJavaBridgeNoError, helper->GetInvocationError()); 216 EXPECT_EQ(kGinJavaBridgeNoError, helper->GetInvocationError());
220 helper->Invoke(); 217 helper->Invoke();
221 EXPECT_TRUE(object_delegate->get_local_ref_called()); 218 EXPECT_TRUE(object_delegate->get_local_ref_called());
222 EXPECT_TRUE(helper->HoldsPrimitiveResult()); 219 EXPECT_TRUE(helper->HoldsPrimitiveResult());
223 EXPECT_TRUE(helper->GetPrimitiveResult().empty()); 220 EXPECT_TRUE(helper->GetPrimitiveResult().empty());
224 EXPECT_EQ(kGinJavaBridgeObjectIsGone, helper->GetInvocationError()); 221 EXPECT_EQ(kGinJavaBridgeObjectIsGone, helper->GetInvocationError());
225 } 222 }
(...skipping 27 matching lines...) Expand all
253 }; 250 };
254 251
255 } // namespace 252 } // namespace
256 253
257 TEST_F(GinJavaMethodInvocationHelperTest, HandleMethodNotFound) { 254 TEST_F(GinJavaMethodInvocationHelperTest, HandleMethodNotFound) {
258 base::ListValue no_objects; 255 base::ListValue no_objects;
259 MethodNotFoundObjectDelegate* object_delegate = 256 MethodNotFoundObjectDelegate* object_delegate =
260 new MethodNotFoundObjectDelegate(); 257 new MethodNotFoundObjectDelegate();
261 scoped_refptr<GinJavaMethodInvocationHelper> helper = 258 scoped_refptr<GinJavaMethodInvocationHelper> helper =
262 new GinJavaMethodInvocationHelper( 259 new GinJavaMethodInvocationHelper(
263 scoped_ptr<GinJavaMethodInvocationHelper::ObjectDelegate>( 260 std::unique_ptr<GinJavaMethodInvocationHelper::ObjectDelegate>(
264 object_delegate), 261 object_delegate),
265 "foo", 262 "foo", no_objects);
266 no_objects);
267 NullDispatcherDelegate dispatcher; 263 NullDispatcherDelegate dispatcher;
268 helper->Init(&dispatcher); 264 helper->Init(&dispatcher);
269 EXPECT_FALSE(object_delegate->find_method_called()); 265 EXPECT_FALSE(object_delegate->find_method_called());
270 EXPECT_EQ(kGinJavaBridgeNoError, helper->GetInvocationError()); 266 EXPECT_EQ(kGinJavaBridgeNoError, helper->GetInvocationError());
271 helper->Invoke(); 267 helper->Invoke();
272 EXPECT_TRUE(object_delegate->find_method_called()); 268 EXPECT_TRUE(object_delegate->find_method_called());
273 EXPECT_TRUE(helper->HoldsPrimitiveResult()); 269 EXPECT_TRUE(helper->HoldsPrimitiveResult());
274 EXPECT_TRUE(helper->GetPrimitiveResult().empty()); 270 EXPECT_TRUE(helper->GetPrimitiveResult().empty());
275 EXPECT_EQ(kGinJavaBridgeMethodNotFound, helper->GetInvocationError()); 271 EXPECT_EQ(kGinJavaBridgeMethodNotFound, helper->GetInvocationError());
276 } 272 }
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
310 (JavaMethod*)0xdeadbeef; 306 (JavaMethod*)0xdeadbeef;
311 307
312 } // namespace 308 } // namespace
313 309
314 TEST_F(GinJavaMethodInvocationHelperTest, HandleGetClassInvocation) { 310 TEST_F(GinJavaMethodInvocationHelperTest, HandleGetClassInvocation) {
315 base::ListValue no_objects; 311 base::ListValue no_objects;
316 GetClassObjectDelegate* object_delegate = 312 GetClassObjectDelegate* object_delegate =
317 new GetClassObjectDelegate(); 313 new GetClassObjectDelegate();
318 scoped_refptr<GinJavaMethodInvocationHelper> helper = 314 scoped_refptr<GinJavaMethodInvocationHelper> helper =
319 new GinJavaMethodInvocationHelper( 315 new GinJavaMethodInvocationHelper(
320 scoped_ptr<GinJavaMethodInvocationHelper::ObjectDelegate>( 316 std::unique_ptr<GinJavaMethodInvocationHelper::ObjectDelegate>(
321 object_delegate), 317 object_delegate),
322 "foo", 318 "foo", no_objects);
323 no_objects);
324 NullDispatcherDelegate dispatcher; 319 NullDispatcherDelegate dispatcher;
325 helper->Init(&dispatcher); 320 helper->Init(&dispatcher);
326 EXPECT_FALSE(object_delegate->find_method_called()); 321 EXPECT_FALSE(object_delegate->find_method_called());
327 EXPECT_FALSE(object_delegate->get_class_called()); 322 EXPECT_FALSE(object_delegate->get_class_called());
328 EXPECT_EQ(kGinJavaBridgeNoError, helper->GetInvocationError()); 323 EXPECT_EQ(kGinJavaBridgeNoError, helper->GetInvocationError());
329 helper->Invoke(); 324 helper->Invoke();
330 EXPECT_TRUE(object_delegate->find_method_called()); 325 EXPECT_TRUE(object_delegate->find_method_called());
331 EXPECT_TRUE(object_delegate->get_class_called()); 326 EXPECT_TRUE(object_delegate->get_class_called());
332 EXPECT_TRUE(helper->HoldsPrimitiveResult()); 327 EXPECT_TRUE(helper->HoldsPrimitiveResult());
333 EXPECT_TRUE(helper->GetPrimitiveResult().empty()); 328 EXPECT_TRUE(helper->GetPrimitiveResult().empty());
334 EXPECT_EQ(kGinJavaBridgeAccessToObjectGetClassIsBlocked, 329 EXPECT_EQ(kGinJavaBridgeAccessToObjectGetClassIsBlocked,
335 helper->GetInvocationError()); 330 helper->GetInvocationError());
336 } 331 }
337 332
338 } // namespace content 333 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698