OLD | NEW |
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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 "o3d/gpu_plugin/np_utils/base_np_object_mock.h" | 5 #include "o3d/gpu_plugin/np_utils/np_object_mock.h" |
6 #include "o3d/gpu_plugin/np_utils/np_browser_stub.h" | 6 #include "o3d/gpu_plugin/np_utils/np_browser_stub.h" |
7 #include "o3d/gpu_plugin/np_utils/np_utils.h" | 7 #include "o3d/gpu_plugin/np_utils/np_utils.h" |
8 #include "testing/gmock/include/gmock/gmock.h" | 8 #include "testing/gmock/include/gmock/gmock.h" |
9 #include "testing/gtest/include/gtest/gtest.h" | 9 #include "testing/gtest/include/gtest/gtest.h" |
10 | 10 |
11 using testing::_; | 11 using testing::_; |
12 using testing::DoAll; | 12 using testing::DoAll; |
13 using testing::MakeMatcher; | 13 using testing::MakeMatcher; |
14 using testing::Matcher; | 14 using testing::Matcher; |
15 using testing::Pointee; | 15 using testing::Pointee; |
16 using testing::Return; | 16 using testing::Return; |
17 using testing::SetArgumentPointee; | 17 using testing::SetArgumentPointee; |
18 using testing::StrictMock; | 18 using testing::StrictMock; |
19 | 19 |
20 namespace o3d { | 20 namespace o3d { |
21 namespace gpu_plugin { | 21 namespace gpu_plugin { |
22 | 22 |
23 class NPUtilsTest : public testing::Test { | 23 class NPUtilsTest : public testing::Test { |
24 protected: | 24 protected: |
25 virtual void SetUp() { | |
26 // Make sure no MockBaseNPObject objects exist before test. | |
27 ASSERT_EQ(0, MockBaseNPObject::count()); | |
28 } | |
29 | |
30 virtual void TearDown() { | |
31 // Make sure no MockBaseNPObject leaked an object. | |
32 ASSERT_EQ(0, MockBaseNPObject::count()); | |
33 } | |
34 | |
35 StubNPBrowser stub_browser_; | 25 StubNPBrowser stub_browser_; |
36 NPP_t npp_; | 26 NPP_t npp_; |
37 NPVariant variant_; | 27 NPVariant variant_; |
38 }; | 28 }; |
39 | 29 |
40 TEST_F(NPUtilsTest, TestBoolNPVariantToValue) { | 30 TEST_F(NPUtilsTest, TestBoolNPVariantToValue) { |
41 bool v; | 31 bool v; |
42 | 32 |
43 BOOLEAN_TO_NPVARIANT(false, variant_); | 33 BOOLEAN_TO_NPVARIANT(false, variant_); |
44 EXPECT_TRUE(NPVariantToValue(&v, variant_)); | 34 EXPECT_TRUE(NPVariantToValue(&v, variant_)); |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
99 STRINGZ_TO_NPVARIANT("hello", variant_); | 89 STRINGZ_TO_NPVARIANT("hello", variant_); |
100 EXPECT_TRUE(NPVariantToValue(&v, variant_)); | 90 EXPECT_TRUE(NPVariantToValue(&v, variant_)); |
101 EXPECT_EQ(std::string("hello"), v); | 91 EXPECT_EQ(std::string("hello"), v); |
102 | 92 |
103 BOOLEAN_TO_NPVARIANT(false, variant_); | 93 BOOLEAN_TO_NPVARIANT(false, variant_); |
104 EXPECT_FALSE(NPVariantToValue(&v, variant_)); | 94 EXPECT_FALSE(NPVariantToValue(&v, variant_)); |
105 } | 95 } |
106 | 96 |
107 TEST_F(NPUtilsTest, TestObjectNPVariantToValue) { | 97 TEST_F(NPUtilsTest, TestObjectNPVariantToValue) { |
108 NPObjectPointer<NPObject> object = | 98 NPObjectPointer<NPObject> object = |
109 NPCreateObject<StrictMock<MockBaseNPObject> >(NULL); | 99 NPCreateObject<StrictMock<MockNPObject> >(NULL); |
110 NPObjectPointer<NPObject> v; | 100 NPObjectPointer<NPObject> v; |
111 | 101 |
112 OBJECT_TO_NPVARIANT(object.Get(), variant_); | 102 OBJECT_TO_NPVARIANT(object.Get(), variant_); |
113 EXPECT_TRUE(NPVariantToValue(&v, variant_)); | 103 EXPECT_TRUE(NPVariantToValue(&v, variant_)); |
114 EXPECT_EQ(object, v); | 104 EXPECT_EQ(object, v); |
115 | 105 |
116 BOOLEAN_TO_NPVARIANT(false, variant_); | 106 BOOLEAN_TO_NPVARIANT(false, variant_); |
117 EXPECT_FALSE(NPVariantToValue(&v, variant_)); | 107 EXPECT_FALSE(NPVariantToValue(&v, variant_)); |
118 } | 108 } |
119 | 109 |
120 TEST_F(NPUtilsTest, TestNullNPVariantToValue) { | 110 TEST_F(NPUtilsTest, TestNullNPVariantToValue) { |
121 NPObjectPointer<NPObject> v; | 111 NPObjectPointer<NPObject> v; |
122 | 112 |
123 NULL_TO_NPVARIANT(variant_); | 113 NULL_TO_NPVARIANT(variant_); |
124 EXPECT_TRUE(NPVariantToValue(&v, variant_)); | 114 EXPECT_TRUE(NPVariantToValue(&v, variant_)); |
125 EXPECT_TRUE(NPObjectPointer<NPObject>() == v); | 115 EXPECT_TRUE(NPObjectPointer<NPObject>() == v); |
126 | 116 |
127 BOOLEAN_TO_NPVARIANT(false, variant_); | 117 BOOLEAN_TO_NPVARIANT(false, variant_); |
128 EXPECT_FALSE(NPVariantToValue(&v, variant_)); | 118 EXPECT_FALSE(NPVariantToValue(&v, variant_)); |
129 } | 119 } |
130 | 120 |
131 TEST_F(NPUtilsTest, TestDerivedObjectNPVariantToValue) { | 121 TEST_F(NPUtilsTest, TestDerivedObjectNPVariantToValue) { |
132 NPObjectPointer<NPObject> object = | 122 NPObjectPointer<NPObject> object = |
133 NPCreateObject<StrictMock<MockBaseNPObject> >(NULL); | 123 NPCreateObject<StrictMock<MockNPObject> >(NULL); |
134 NPObjectPointer<StrictMock<MockBaseNPObject> > v; | 124 NPObjectPointer<StrictMock<MockNPObject> > v; |
135 | 125 |
136 OBJECT_TO_NPVARIANT(object.Get(), variant_); | 126 OBJECT_TO_NPVARIANT(object.Get(), variant_); |
137 EXPECT_TRUE(NPVariantToValue(&v, variant_)); | 127 EXPECT_TRUE(NPVariantToValue(&v, variant_)); |
138 EXPECT_EQ(object, v); | 128 EXPECT_EQ(object, v); |
139 } | 129 } |
140 | 130 |
141 TEST_F(NPUtilsTest, | 131 TEST_F(NPUtilsTest, |
142 TestDerivedObjectNPVariantToValueFailsIfValueHasDifferentType) { | 132 TestDerivedObjectNPVariantToValueFailsIfValueHasDifferentType) { |
143 NPObjectPointer<NPObject> object = | 133 NPObjectPointer<NPObject> object = |
144 NPCreateObject<StrictMock<MockBaseNPObject> >(NULL); | 134 NPCreateObject<StrictMock<MockNPObject> >(NULL); |
145 NPObjectPointer<MockBaseNPObject> v; | 135 NPObjectPointer<MockNPObject> v; |
146 | 136 |
147 OBJECT_TO_NPVARIANT(object.Get(), variant_); | 137 OBJECT_TO_NPVARIANT(object.Get(), variant_); |
148 EXPECT_FALSE(NPVariantToValue(&v, variant_)); | 138 EXPECT_FALSE(NPVariantToValue(&v, variant_)); |
149 } | 139 } |
150 | 140 |
151 TEST_F(NPUtilsTest, TestBoolValueToNPVariant) { | 141 TEST_F(NPUtilsTest, TestBoolValueToNPVariant) { |
152 ValueToNPVariant(true, &variant_); | 142 ValueToNPVariant(true, &variant_); |
153 EXPECT_TRUE(NPVARIANT_IS_BOOLEAN(variant_)); | 143 EXPECT_TRUE(NPVARIANT_IS_BOOLEAN(variant_)); |
154 EXPECT_TRUE(NPVARIANT_TO_BOOLEAN(variant_)); | 144 EXPECT_TRUE(NPVARIANT_TO_BOOLEAN(variant_)); |
155 | 145 |
(...skipping 23 matching lines...) Expand all Loading... |
179 TEST_F(NPUtilsTest, TestStringValueToNPVariant) { | 169 TEST_F(NPUtilsTest, TestStringValueToNPVariant) { |
180 ValueToNPVariant(std::string("hello"), &variant_); | 170 ValueToNPVariant(std::string("hello"), &variant_); |
181 EXPECT_TRUE(NPVARIANT_IS_STRING(variant_)); | 171 EXPECT_TRUE(NPVARIANT_IS_STRING(variant_)); |
182 EXPECT_EQ(std::string("hello"), | 172 EXPECT_EQ(std::string("hello"), |
183 std::string(variant_.value.stringValue.UTF8Characters, | 173 std::string(variant_.value.stringValue.UTF8Characters, |
184 variant_.value.stringValue.UTF8Length)); | 174 variant_.value.stringValue.UTF8Length)); |
185 } | 175 } |
186 | 176 |
187 TEST_F(NPUtilsTest, TestObjectValueToNPVariant) { | 177 TEST_F(NPUtilsTest, TestObjectValueToNPVariant) { |
188 NPObjectPointer<NPObject> object = | 178 NPObjectPointer<NPObject> object = |
189 NPCreateObject<StrictMock<MockBaseNPObject> >(NULL); | 179 NPCreateObject<StrictMock<MockNPObject> >(NULL); |
190 | 180 |
191 ValueToNPVariant(object, &variant_); | 181 ValueToNPVariant(object, &variant_); |
192 EXPECT_TRUE(NPVARIANT_IS_OBJECT(variant_)); | 182 EXPECT_TRUE(NPVARIANT_IS_OBJECT(variant_)); |
193 EXPECT_EQ(object.Get(), NPVARIANT_TO_OBJECT(variant_)); | 183 EXPECT_EQ(object.Get(), NPVARIANT_TO_OBJECT(variant_)); |
194 | 184 |
195 NPBrowser::get()->ReleaseVariantValue(&variant_); | 185 NPBrowser::get()->ReleaseVariantValue(&variant_); |
196 } | 186 } |
197 | 187 |
198 TEST_F(NPUtilsTest, TestNullValueToNPVariant) { | 188 TEST_F(NPUtilsTest, TestNullValueToNPVariant) { |
199 ValueToNPVariant(NPObjectPointer<NPObject>(), &variant_); | 189 ValueToNPVariant(NPObjectPointer<NPObject>(), &variant_); |
200 EXPECT_TRUE(NPVARIANT_IS_NULL(variant_)); | 190 EXPECT_TRUE(NPVARIANT_IS_NULL(variant_)); |
201 } | 191 } |
202 | 192 |
203 TEST_F(NPUtilsTest, CanCopyObjectSmartVariant) { | 193 TEST_F(NPUtilsTest, CanCopyObjectSmartVariant) { |
204 NPObjectPointer<NPObject> object = | 194 NPObjectPointer<NPObject> object = |
205 NPCreateObject<StrictMock<MockBaseNPObject> >(NULL); | 195 NPCreateObject<StrictMock<MockNPObject> >(NULL); |
206 EXPECT_EQ(1, object->referenceCount); | 196 EXPECT_EQ(1, object->referenceCount); |
207 { | 197 { |
208 SmartNPVariant v1(object); | 198 SmartNPVariant v1(object); |
209 EXPECT_EQ(2, object->referenceCount); | 199 EXPECT_EQ(2, object->referenceCount); |
210 { | 200 { |
211 SmartNPVariant v2(v1); | 201 SmartNPVariant v2(v1); |
212 EXPECT_EQ(3, object->referenceCount); | 202 EXPECT_EQ(3, object->referenceCount); |
213 } | 203 } |
214 EXPECT_EQ(2, object->referenceCount); | 204 EXPECT_EQ(2, object->referenceCount); |
215 } | 205 } |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
256 T value_; | 246 T value_; |
257 }; | 247 }; |
258 | 248 |
259 template <typename T> | 249 template <typename T> |
260 Matcher<const NPVariant&> VariantMatches(const T& value) { | 250 Matcher<const NPVariant&> VariantMatches(const T& value) { |
261 return MakeMatcher(new VariantMatcher<T>(value)); | 251 return MakeMatcher(new VariantMatcher<T>(value)); |
262 } | 252 } |
263 | 253 |
264 TEST_F(NPUtilsTest, CanDetermineIfObjectHasMethod) { | 254 TEST_F(NPUtilsTest, CanDetermineIfObjectHasMethod) { |
265 NPIdentifier name = NPBrowser::get()->GetStringIdentifier("foo"); | 255 NPIdentifier name = NPBrowser::get()->GetStringIdentifier("foo"); |
266 NPObjectPointer<MockBaseNPObject> object = | 256 NPObjectPointer<MockNPObject> object = |
267 NPCreateObject<StrictMock<MockBaseNPObject> >(NULL); | 257 NPCreateObject<StrictMock<MockNPObject> >(NULL); |
268 | 258 |
269 EXPECT_CALL(*object, HasMethod(name)) | 259 EXPECT_CALL(*object, HasMethod(name)) |
270 .WillOnce(Return(true)); | 260 .WillOnce(Return(true)); |
271 | 261 |
272 EXPECT_TRUE(NPHasMethod(NULL, object, "foo")); | 262 EXPECT_TRUE(NPHasMethod(NULL, object, "foo")); |
273 } | 263 } |
274 | 264 |
275 TEST_F(NPUtilsTest, CanInvokeVoidMethodWithNativeTypes) { | 265 TEST_F(NPUtilsTest, CanInvokeVoidMethodWithNativeTypes) { |
276 NPIdentifier name = NPBrowser::get()->GetStringIdentifier("foo"); | 266 NPIdentifier name = NPBrowser::get()->GetStringIdentifier("foo"); |
277 NPObjectPointer<MockBaseNPObject> object = | 267 NPObjectPointer<MockNPObject> object = |
278 NPCreateObject<StrictMock<MockBaseNPObject> >(NULL); | 268 NPCreateObject<StrictMock<MockNPObject> >(NULL); |
279 | 269 |
280 VOID_TO_NPVARIANT(variant_); | 270 VOID_TO_NPVARIANT(variant_); |
281 | 271 |
282 EXPECT_CALL(*object, Invoke(name, Pointee(VariantMatches<int32>(7)), 1, _)) | 272 EXPECT_CALL(*object, Invoke(name, Pointee(VariantMatches<int32>(7)), 1, _)) |
283 .WillOnce(DoAll(SetArgumentPointee<3>(variant_), | 273 .WillOnce(DoAll(SetArgumentPointee<3>(variant_), |
284 Return(true))); | 274 Return(true))); |
285 | 275 |
286 EXPECT_TRUE(NPInvokeVoid(NULL, object, "foo", 7)); | 276 EXPECT_TRUE(NPInvokeVoid(NULL, object, "foo", 7)); |
287 } | 277 } |
288 | 278 |
289 TEST_F(NPUtilsTest, InvokeVoidMethodCanFail) { | 279 TEST_F(NPUtilsTest, InvokeVoidMethodCanFail) { |
290 NPIdentifier name = NPBrowser::get()->GetStringIdentifier("foo"); | 280 NPIdentifier name = NPBrowser::get()->GetStringIdentifier("foo"); |
291 NPObjectPointer<MockBaseNPObject> object = | 281 NPObjectPointer<MockNPObject> object = |
292 NPCreateObject<StrictMock<MockBaseNPObject> >(NULL); | 282 NPCreateObject<StrictMock<MockNPObject> >(NULL); |
293 | 283 |
294 VOID_TO_NPVARIANT(variant_); | 284 VOID_TO_NPVARIANT(variant_); |
295 | 285 |
296 EXPECT_CALL(*object, Invoke(name, Pointee(VariantMatches<int32>(7)), 1, _)) | 286 EXPECT_CALL(*object, Invoke(name, Pointee(VariantMatches<int32>(7)), 1, _)) |
297 .WillOnce(DoAll(SetArgumentPointee<3>(variant_), | 287 .WillOnce(DoAll(SetArgumentPointee<3>(variant_), |
298 Return(false))); | 288 Return(false))); |
299 | 289 |
300 EXPECT_FALSE(NPInvokeVoid(NULL, object, "foo", 7)); | 290 EXPECT_FALSE(NPInvokeVoid(NULL, object, "foo", 7)); |
301 } | 291 } |
302 | 292 |
303 TEST_F(NPUtilsTest, CanInvokeNonVoidMethodWithNativeTypes) { | 293 TEST_F(NPUtilsTest, CanInvokeNonVoidMethodWithNativeTypes) { |
304 NPIdentifier name = NPBrowser::get()->GetStringIdentifier("foo"); | 294 NPIdentifier name = NPBrowser::get()->GetStringIdentifier("foo"); |
305 NPObjectPointer<MockBaseNPObject> object = | 295 NPObjectPointer<MockNPObject> object = |
306 NPCreateObject<StrictMock<MockBaseNPObject> >(NULL); | 296 NPCreateObject<StrictMock<MockNPObject> >(NULL); |
307 | 297 |
308 DOUBLE_TO_NPVARIANT(1.5, variant_); | 298 DOUBLE_TO_NPVARIANT(1.5, variant_); |
309 | 299 |
310 EXPECT_CALL(*object, Invoke(name, Pointee(VariantMatches<int32>(7)), 1, _)) | 300 EXPECT_CALL(*object, Invoke(name, Pointee(VariantMatches<int32>(7)), 1, _)) |
311 .WillOnce(DoAll(SetArgumentPointee<3>(variant_), | 301 .WillOnce(DoAll(SetArgumentPointee<3>(variant_), |
312 Return(true))); | 302 Return(true))); |
313 | 303 |
314 double r; | 304 double r; |
315 EXPECT_TRUE(NPInvoke(NULL, object, "foo", 7, &r)); | 305 EXPECT_TRUE(NPInvoke(NULL, object, "foo", 7, &r)); |
316 EXPECT_EQ(1.5, r); | 306 EXPECT_EQ(1.5, r); |
317 } | 307 } |
318 | 308 |
319 TEST_F(NPUtilsTest, InvokeNonVoidMethodCanFail) { | 309 TEST_F(NPUtilsTest, InvokeNonVoidMethodCanFail) { |
320 NPIdentifier name = NPBrowser::get()->GetStringIdentifier("foo"); | 310 NPIdentifier name = NPBrowser::get()->GetStringIdentifier("foo"); |
321 NPObjectPointer<MockBaseNPObject> object = | 311 NPObjectPointer<MockNPObject> object = |
322 NPCreateObject<StrictMock<MockBaseNPObject> >(NULL); | 312 NPCreateObject<StrictMock<MockNPObject> >(NULL); |
323 | 313 |
324 DOUBLE_TO_NPVARIANT(1.5, variant_); | 314 DOUBLE_TO_NPVARIANT(1.5, variant_); |
325 | 315 |
326 EXPECT_CALL(*object, Invoke(name, Pointee(VariantMatches<int32>(7)), 1, _)) | 316 EXPECT_CALL(*object, Invoke(name, Pointee(VariantMatches<int32>(7)), 1, _)) |
327 .WillOnce(DoAll(SetArgumentPointee<3>(variant_), | 317 .WillOnce(DoAll(SetArgumentPointee<3>(variant_), |
328 Return(false))); | 318 Return(false))); |
329 | 319 |
330 double r; | 320 double r; |
331 EXPECT_FALSE(NPInvoke(NULL, object, "foo", 7, &r)); | 321 EXPECT_FALSE(NPInvoke(NULL, object, "foo", 7, &r)); |
332 } | 322 } |
333 | 323 |
334 TEST_F(NPUtilsTest, InvokeNonVoidMethodFailsIfResultIsIncompatible) { | 324 TEST_F(NPUtilsTest, InvokeNonVoidMethodFailsIfResultIsIncompatible) { |
335 NPIdentifier name = NPBrowser::get()->GetStringIdentifier("foo"); | 325 NPIdentifier name = NPBrowser::get()->GetStringIdentifier("foo"); |
336 NPObjectPointer<MockBaseNPObject> object = | 326 NPObjectPointer<MockNPObject> object = |
337 NPCreateObject<StrictMock<MockBaseNPObject> >(NULL); | 327 NPCreateObject<StrictMock<MockNPObject> >(NULL); |
338 | 328 |
339 DOUBLE_TO_NPVARIANT(1.5, variant_); | 329 DOUBLE_TO_NPVARIANT(1.5, variant_); |
340 | 330 |
341 EXPECT_CALL(*object, Invoke(name, Pointee(VariantMatches<int32>(7)), 1, _)) | 331 EXPECT_CALL(*object, Invoke(name, Pointee(VariantMatches<int32>(7)), 1, _)) |
342 .WillOnce(DoAll(SetArgumentPointee<3>(variant_), | 332 .WillOnce(DoAll(SetArgumentPointee<3>(variant_), |
343 Return(true))); | 333 Return(true))); |
344 | 334 |
345 int r; | 335 int r; |
346 EXPECT_FALSE(NPInvoke(NULL, object, "foo", 7, &r)); | 336 EXPECT_FALSE(NPInvoke(NULL, object, "foo", 7, &r)); |
347 } | 337 } |
348 | 338 |
349 TEST_F(NPUtilsTest, CanDetermineIfObjectHasProperty) { | 339 TEST_F(NPUtilsTest, CanDetermineIfObjectHasProperty) { |
350 NPIdentifier name = NPBrowser::get()->GetStringIdentifier("foo"); | 340 NPIdentifier name = NPBrowser::get()->GetStringIdentifier("foo"); |
351 NPObjectPointer<MockBaseNPObject> object = | 341 NPObjectPointer<MockNPObject> object = |
352 NPCreateObject<StrictMock<MockBaseNPObject> >(NULL); | 342 NPCreateObject<StrictMock<MockNPObject> >(NULL); |
353 | 343 |
354 EXPECT_CALL(*object, HasProperty(name)) | 344 EXPECT_CALL(*object, HasProperty(name)) |
355 .WillOnce(Return(true)); | 345 .WillOnce(Return(true)); |
356 | 346 |
357 EXPECT_TRUE(NPHasProperty(NULL, object, "foo")); | 347 EXPECT_TRUE(NPHasProperty(NULL, object, "foo")); |
358 } | 348 } |
359 | 349 |
360 TEST_F(NPUtilsTest, CanGetPropertyValue) { | 350 TEST_F(NPUtilsTest, CanGetPropertyValue) { |
361 NPIdentifier name = NPBrowser::get()->GetStringIdentifier("foo"); | 351 NPIdentifier name = NPBrowser::get()->GetStringIdentifier("foo"); |
362 NPObjectPointer<MockBaseNPObject> object = | 352 NPObjectPointer<MockNPObject> object = |
363 NPCreateObject<StrictMock<MockBaseNPObject> >(NULL); | 353 NPCreateObject<StrictMock<MockNPObject> >(NULL); |
364 | 354 |
365 DOUBLE_TO_NPVARIANT(1.5, variant_); | 355 DOUBLE_TO_NPVARIANT(1.5, variant_); |
366 | 356 |
367 EXPECT_CALL(*object, GetProperty(name, _)) | 357 EXPECT_CALL(*object, GetProperty(name, _)) |
368 .WillOnce(DoAll(SetArgumentPointee<1>(variant_), | 358 .WillOnce(DoAll(SetArgumentPointee<1>(variant_), |
369 Return(true))); | 359 Return(true))); |
370 | 360 |
371 double r; | 361 double r; |
372 EXPECT_TRUE(NPGetProperty(NULL, object, "foo", &r)); | 362 EXPECT_TRUE(NPGetProperty(NULL, object, "foo", &r)); |
373 } | 363 } |
374 | 364 |
375 TEST_F(NPUtilsTest, NPGetPropertyReportsFailureIfResultTypeIsDifferent) { | 365 TEST_F(NPUtilsTest, NPGetPropertyReportsFailureIfResultTypeIsDifferent) { |
376 NPIdentifier name = NPBrowser::get()->GetStringIdentifier("foo"); | 366 NPIdentifier name = NPBrowser::get()->GetStringIdentifier("foo"); |
377 NPObjectPointer<MockBaseNPObject> object = | 367 NPObjectPointer<MockNPObject> object = |
378 NPCreateObject<StrictMock<MockBaseNPObject> >(NULL); | 368 NPCreateObject<StrictMock<MockNPObject> >(NULL); |
379 | 369 |
380 DOUBLE_TO_NPVARIANT(1.5, variant_); | 370 DOUBLE_TO_NPVARIANT(1.5, variant_); |
381 | 371 |
382 EXPECT_CALL(*object, GetProperty(name, _)) | 372 EXPECT_CALL(*object, GetProperty(name, _)) |
383 .WillOnce(DoAll(SetArgumentPointee<1>(variant_), | 373 .WillOnce(DoAll(SetArgumentPointee<1>(variant_), |
384 Return(true))); | 374 Return(true))); |
385 | 375 |
386 bool r; | 376 bool r; |
387 EXPECT_FALSE(NPGetProperty(NULL, object, "foo", &r)); | 377 EXPECT_FALSE(NPGetProperty(NULL, object, "foo", &r)); |
388 } | 378 } |
389 | 379 |
390 TEST_F(NPUtilsTest, NPGetPropertyReportsFailureFromGetProperty) { | 380 TEST_F(NPUtilsTest, NPGetPropertyReportsFailureFromGetProperty) { |
391 NPIdentifier name = NPBrowser::get()->GetStringIdentifier("foo"); | 381 NPIdentifier name = NPBrowser::get()->GetStringIdentifier("foo"); |
392 NPObjectPointer<MockBaseNPObject> object = | 382 NPObjectPointer<MockNPObject> object = |
393 NPCreateObject<StrictMock<MockBaseNPObject> >(NULL); | 383 NPCreateObject<StrictMock<MockNPObject> >(NULL); |
394 | 384 |
395 EXPECT_CALL(*object, GetProperty(name, _)) | 385 EXPECT_CALL(*object, GetProperty(name, _)) |
396 .WillOnce(Return(false)); | 386 .WillOnce(Return(false)); |
397 | 387 |
398 double r; | 388 double r; |
399 EXPECT_FALSE(NPGetProperty(NULL, object, "foo", &r)); | 389 EXPECT_FALSE(NPGetProperty(NULL, object, "foo", &r)); |
400 } | 390 } |
401 | 391 |
402 TEST_F(NPUtilsTest, CanSetPropertyValue) { | 392 TEST_F(NPUtilsTest, CanSetPropertyValue) { |
403 NPIdentifier name = NPBrowser::get()->GetStringIdentifier("foo"); | 393 NPIdentifier name = NPBrowser::get()->GetStringIdentifier("foo"); |
404 NPObjectPointer<MockBaseNPObject> object = | 394 NPObjectPointer<MockNPObject> object = |
405 NPCreateObject<StrictMock<MockBaseNPObject> >(NULL); | 395 NPCreateObject<StrictMock<MockNPObject> >(NULL); |
406 | 396 |
407 EXPECT_CALL(*object, SetProperty(name, Pointee(VariantMatches(1.5)))) | 397 EXPECT_CALL(*object, SetProperty(name, Pointee(VariantMatches(1.5)))) |
408 .WillOnce(Return(true)); | 398 .WillOnce(Return(true)); |
409 | 399 |
410 EXPECT_TRUE(NPSetProperty(NULL, object, "foo", 1.5)); | 400 EXPECT_TRUE(NPSetProperty(NULL, object, "foo", 1.5)); |
411 } | 401 } |
412 | 402 |
413 TEST_F(NPUtilsTest, NPSetPropertyReportsFailureFromSetProperty) { | 403 TEST_F(NPUtilsTest, NPSetPropertyReportsFailureFromSetProperty) { |
414 NPIdentifier name = NPBrowser::get()->GetStringIdentifier("foo"); | 404 NPIdentifier name = NPBrowser::get()->GetStringIdentifier("foo"); |
415 NPObjectPointer<MockBaseNPObject> object = | 405 NPObjectPointer<MockNPObject> object = |
416 NPCreateObject<StrictMock<MockBaseNPObject> >(NULL); | 406 NPCreateObject<StrictMock<MockNPObject> >(NULL); |
417 | 407 |
418 EXPECT_CALL(*object, SetProperty(name, Pointee(VariantMatches(1.5)))) | 408 EXPECT_CALL(*object, SetProperty(name, Pointee(VariantMatches(1.5)))) |
419 .WillOnce(Return(false)); | 409 .WillOnce(Return(false)); |
420 | 410 |
421 EXPECT_FALSE(NPSetProperty(NULL, object, "foo", 1.5)); | 411 EXPECT_FALSE(NPSetProperty(NULL, object, "foo", 1.5)); |
422 } | 412 } |
423 | 413 |
424 TEST_F(NPUtilsTest, CanRemovePropertyValue) { | 414 TEST_F(NPUtilsTest, CanRemovePropertyValue) { |
425 NPIdentifier name = NPBrowser::get()->GetStringIdentifier("foo"); | 415 NPIdentifier name = NPBrowser::get()->GetStringIdentifier("foo"); |
426 NPObjectPointer<MockBaseNPObject> object = | 416 NPObjectPointer<MockNPObject> object = |
427 NPCreateObject<StrictMock<MockBaseNPObject> >(NULL); | 417 NPCreateObject<StrictMock<MockNPObject> >(NULL); |
428 | 418 |
429 EXPECT_CALL(*object, RemoveProperty(name)) | 419 EXPECT_CALL(*object, RemoveProperty(name)) |
430 .WillOnce(Return(true)); | 420 .WillOnce(Return(true)); |
431 | 421 |
432 EXPECT_TRUE(NPRemoveProperty(NULL, object, "foo")); | 422 EXPECT_TRUE(NPRemoveProperty(NULL, object, "foo")); |
433 } | 423 } |
434 | 424 |
435 } // namespace gpu_plugin | 425 } // namespace gpu_plugin |
436 } // namespace o3d | 426 } // namespace o3d |
OLD | NEW |