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

Side by Side Diff: o3d/gpu_plugin/np_utils/dispatched_np_object_unittest.cc

Issue 196032: Replaced BaseNPObject with DefaultNPObject because...... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 3 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 | Annotate | Revision Log
OLDNEW
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 <string> 5 #include <string>
6 6
7 #include "o3d/gpu_plugin/np_utils/dispatched_np_object.h" 7 #include "o3d/gpu_plugin/np_utils/default_np_object.h"
8 #include "o3d/gpu_plugin/np_utils/np_browser_stub.h" 8 #include "o3d/gpu_plugin/np_utils/np_browser_stub.h"
9 #include "o3d/gpu_plugin/np_utils/np_dispatcher.h" 9 #include "o3d/gpu_plugin/np_utils/np_dispatcher.h"
10 #include "o3d/gpu_plugin/np_utils/np_object_mock.h"
10 #include "testing/gmock/include/gmock/gmock.h" 11 #include "testing/gmock/include/gmock/gmock.h"
11 #include "testing/gtest/include/gtest/gtest.h" 12 #include "testing/gtest/include/gtest/gtest.h"
12 13
13 using testing::Return; 14 using testing::Return;
14 using testing::StrictMock; 15 using testing::StrictMock;
15 16
16 namespace o3d { 17 namespace o3d {
17 namespace gpu_plugin { 18 namespace gpu_plugin {
18 19
19 // This mock class has a dispatcher chain with an entry for each mocked 20 // This mock class has a dispatcher chain with an entry for each mocked
20 // function. The tests that follow that invoking an NPAPI method calls the 21 // function. The tests that follow that invoking an NPAPI method calls the
21 // corresponding mocked member function. 22 // corresponding mocked member function.
22 class MockDispatchedNPObject : public DispatchedNPObject { 23 class MockDispatchedNPObject : public DefaultNPObject<NPObject> {
23 public: 24 public:
24 explicit MockDispatchedNPObject(NPP npp) 25 explicit MockDispatchedNPObject(NPP npp) {
25 : DispatchedNPObject(npp) {
26 } 26 }
27 27
28 MOCK_METHOD0(VoidReturnNoParams, void()); 28 MOCK_METHOD0(VoidReturnNoParams, void());
29 MOCK_METHOD1(VoidReturnBoolParam, void(bool)); 29 MOCK_METHOD1(VoidReturnBoolParam, void(bool));
30 MOCK_METHOD1(VoidReturnIntParam, void(int)); 30 MOCK_METHOD1(VoidReturnIntParam, void(int));
31 MOCK_METHOD1(VoidReturnFloatParam, void(float)); 31 MOCK_METHOD1(VoidReturnFloatParam, void(float));
32 MOCK_METHOD1(VoidReturnDoubleParam, void(double)); 32 MOCK_METHOD1(VoidReturnDoubleParam, void(double));
33 MOCK_METHOD1(VoidReturnStringParam, void(std::string)); 33 MOCK_METHOD1(VoidReturnStringParam, void(std::string));
34 MOCK_METHOD1(VoidReturnObjectParam, void(NPObjectPointer<BaseNPObject>)); 34 MOCK_METHOD1(VoidReturnObjectParam, void(NPObjectPointer<NPObject>));
35 MOCK_METHOD2(VoidReturnTwoParams, void(bool, int)); 35 MOCK_METHOD2(VoidReturnTwoParams, void(bool, int));
36 MOCK_METHOD0(Overloaded, void()); 36 MOCK_METHOD0(Overloaded, void());
37 MOCK_METHOD1(Overloaded, void(bool)); 37 MOCK_METHOD1(Overloaded, void(bool));
38 MOCK_METHOD1(Overloaded, void(std::string)); 38 MOCK_METHOD1(Overloaded, void(std::string));
39 MOCK_METHOD0(BoolReturn, bool()); 39 MOCK_METHOD0(BoolReturn, bool());
40 MOCK_METHOD0(IntReturn, int()); 40 MOCK_METHOD0(IntReturn, int());
41 MOCK_METHOD0(FloatReturn, float()); 41 MOCK_METHOD0(FloatReturn, float());
42 MOCK_METHOD0(DoubleReturn, double()); 42 MOCK_METHOD0(DoubleReturn, double());
43 MOCK_METHOD0(StringReturn, std::string()); 43 MOCK_METHOD0(StringReturn, std::string());
44 MOCK_METHOD0(ObjectReturn, NPObjectPointer<BaseNPObject>()); 44 MOCK_METHOD0(ObjectReturn, NPObjectPointer<NPObject>());
45 45
46 protected: 46 NP_UTILS_BEGIN_DISPATCHER_CHAIN(MockDispatchedNPObject, DefaultNPObject<NPObje ct>)
47 NP_UTILS_BEGIN_DISPATCHER_CHAIN(MockDispatchedNPObject, DispatchedNPObject)
48 NP_UTILS_DISPATCHER(VoidReturnNoParams, void()) 47 NP_UTILS_DISPATCHER(VoidReturnNoParams, void())
49 NP_UTILS_DISPATCHER(VoidReturnBoolParam, void(bool)) 48 NP_UTILS_DISPATCHER(VoidReturnBoolParam, void(bool))
50 NP_UTILS_DISPATCHER(VoidReturnIntParam, void(int)) 49 NP_UTILS_DISPATCHER(VoidReturnIntParam, void(int))
51 NP_UTILS_DISPATCHER(VoidReturnFloatParam, void(float)) 50 NP_UTILS_DISPATCHER(VoidReturnFloatParam, void(float))
52 NP_UTILS_DISPATCHER(VoidReturnDoubleParam, void(double)) 51 NP_UTILS_DISPATCHER(VoidReturnDoubleParam, void(double))
53 NP_UTILS_DISPATCHER(VoidReturnStringParam, void(std::string)) 52 NP_UTILS_DISPATCHER(VoidReturnStringParam, void(std::string))
54 NP_UTILS_DISPATCHER(VoidReturnObjectParam, 53 NP_UTILS_DISPATCHER(VoidReturnObjectParam, void(NPObjectPointer<NPObject>))
55 void(NPObjectPointer<BaseNPObject>))
56 NP_UTILS_DISPATCHER(VoidReturnTwoParams, void(bool, int)) 54 NP_UTILS_DISPATCHER(VoidReturnTwoParams, void(bool, int))
57 NP_UTILS_DISPATCHER(Overloaded, void()) 55 NP_UTILS_DISPATCHER(Overloaded, void())
58 NP_UTILS_DISPATCHER(Overloaded, void(bool)) 56 NP_UTILS_DISPATCHER(Overloaded, void(bool))
59 NP_UTILS_DISPATCHER(Overloaded, void(std::string)) 57 NP_UTILS_DISPATCHER(Overloaded, void(std::string))
60 NP_UTILS_DISPATCHER(BoolReturn, bool()) 58 NP_UTILS_DISPATCHER(BoolReturn, bool())
61 NP_UTILS_DISPATCHER(IntReturn, int()) 59 NP_UTILS_DISPATCHER(IntReturn, int())
62 NP_UTILS_DISPATCHER(FloatReturn, float()) 60 NP_UTILS_DISPATCHER(FloatReturn, float())
63 NP_UTILS_DISPATCHER(DoubleReturn, double()) 61 NP_UTILS_DISPATCHER(DoubleReturn, double())
64 NP_UTILS_DISPATCHER(StringReturn, std::string()) 62 NP_UTILS_DISPATCHER(StringReturn, std::string())
65 NP_UTILS_DISPATCHER(ObjectReturn, NPObjectPointer<BaseNPObject>()); 63 NP_UTILS_DISPATCHER(ObjectReturn, NPObjectPointer<NPObject>());
66 NP_UTILS_END_DISPATCHER_CHAIN 64 NP_UTILS_END_DISPATCHER_CHAIN
67 }; 65 };
68 66
69 class DispatchedNPObjectTest : public testing::Test { 67 class DispatchedNPObjectTest : public testing::Test {
70 protected: 68 protected:
71 virtual void SetUp() { 69 virtual void SetUp() {
72 object_ = NPCreateObject<StrictMock<MockDispatchedNPObject> >(NULL); 70 object_ = NPCreateObject<StrictMock<MockDispatchedNPObject> >(NULL);
73 passed_object_ = NPCreateObject<BaseNPObject>(NULL); 71 passed_object_ = NPCreateObject<MockNPObject>(NULL);
74 72
75 for (int i = 0; i != arraysize(args_); ++i) { 73 for (int i = 0; i != arraysize(args_); ++i) {
76 NULL_TO_NPVARIANT(args_[i]); 74 NULL_TO_NPVARIANT(args_[i]);
77 } 75 }
78 NULL_TO_NPVARIANT(result_); 76 NULL_TO_NPVARIANT(result_);
79 } 77 }
80 78
81 StubNPBrowser stub_browser_; 79 StubNPBrowser stub_browser_;
82 NPVariant args_[3]; 80 NPVariant args_[3];
83 NPVariant result_; 81 NPVariant result_;
84 NPObjectPointer<MockDispatchedNPObject> object_; 82 NPObjectPointer<MockDispatchedNPObject> object_;
85 NPObjectPointer<BaseNPObject> passed_object_; 83 NPObjectPointer<NPObject> passed_object_;
86 }; 84 };
87 85
88 TEST_F(DispatchedNPObjectTest, CannotInvokeMissingFunction) { 86 TEST_F(DispatchedNPObjectTest, CannotInvokeMissingFunction) {
89 EXPECT_FALSE(object_->Invoke( 87 EXPECT_FALSE(object_->Invoke(
90 NPBrowser::get()->GetStringIdentifier("missing"), 88 NPBrowser::get()->GetStringIdentifier("missing"),
91 NULL, 89 NULL,
92 0, 90 0,
93 &result_)); 91 &result_));
94 EXPECT_TRUE(NPVARIANT_IS_VOID(result_)); 92 EXPECT_TRUE(NPVARIANT_IS_VOID(result_));
95 } 93 }
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
215 NPBrowser::get()->GetStringIdentifier("voidReturnObjectParam"), 213 NPBrowser::get()->GetStringIdentifier("voidReturnObjectParam"),
216 args_, 214 args_,
217 1, 215 1,
218 &result_)); 216 &result_));
219 EXPECT_TRUE(NPVARIANT_IS_VOID(result_)); 217 EXPECT_TRUE(NPVARIANT_IS_VOID(result_));
220 } 218 }
221 219
222 TEST_F(DispatchedNPObjectTest, CanInvokeVoidReturnObjectParamWithNull) { 220 TEST_F(DispatchedNPObjectTest, CanInvokeVoidReturnObjectParamWithNull) {
223 EXPECT_CALL( 221 EXPECT_CALL(
224 *object_, 222 *object_,
225 VoidReturnObjectParam(NPObjectPointer<BaseNPObject>())); 223 VoidReturnObjectParam(NPObjectPointer<NPObject>()));
226 224
227 NULL_TO_NPVARIANT(args_[0]); 225 NULL_TO_NPVARIANT(args_[0]);
228 226
229 EXPECT_TRUE(object_->Invoke( 227 EXPECT_TRUE(object_->Invoke(
230 NPBrowser::get()->GetStringIdentifier("voidReturnObjectParam"), 228 NPBrowser::get()->GetStringIdentifier("voidReturnObjectParam"),
231 args_, 229 args_,
232 1, 230 1,
233 &result_)); 231 &result_));
234 EXPECT_TRUE(NPVARIANT_IS_VOID(result_)); 232 EXPECT_TRUE(NPVARIANT_IS_VOID(result_));
235 } 233 }
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
360 0, 358 0,
361 &result_)); 359 &result_));
362 EXPECT_TRUE(NPVARIANT_IS_OBJECT(result_)); 360 EXPECT_TRUE(NPVARIANT_IS_OBJECT(result_));
363 EXPECT_EQ(passed_object_.Get(), NPVARIANT_TO_OBJECT(result_)); 361 EXPECT_EQ(passed_object_.Get(), NPVARIANT_TO_OBJECT(result_));
364 362
365 NPBrowser::get()->ReleaseVariantValue(&result_); 363 NPBrowser::get()->ReleaseVariantValue(&result_);
366 } 364 }
367 365
368 TEST_F(DispatchedNPObjectTest, CanInvokeObjectReturnWithNull) { 366 TEST_F(DispatchedNPObjectTest, CanInvokeObjectReturnWithNull) {
369 EXPECT_CALL(*object_, ObjectReturn()) 367 EXPECT_CALL(*object_, ObjectReturn())
370 .WillOnce(Return(NPObjectPointer<BaseNPObject>())); 368 .WillOnce(Return(NPObjectPointer<NPObject>()));
371 369
372 EXPECT_TRUE(object_->Invoke( 370 EXPECT_TRUE(object_->Invoke(
373 NPBrowser::get()->GetStringIdentifier("objectReturn"), 371 NPBrowser::get()->GetStringIdentifier("objectReturn"),
374 NULL, 372 NULL,
375 0, 373 0,
376 &result_)); 374 &result_));
377 EXPECT_TRUE(NPVARIANT_IS_NULL(result_)); 375 EXPECT_TRUE(NPVARIANT_IS_NULL(result_));
378 } 376 }
379 377
380 TEST_F(DispatchedNPObjectTest, HasMethodReturnsTrueIfMatchingMemberVariable) { 378 TEST_F(DispatchedNPObjectTest, HasMethodReturnsTrueIfMatchingMemberVariable) {
(...skipping 17 matching lines...) Expand all
398 // returned. 396 // returned.
399 EXPECT_GT(num_names, 1u); 397 EXPECT_GT(num_names, 1u);
400 EXPECT_EQ(NPBrowser::get()->GetStringIdentifier("voidReturnNoParams"), 398 EXPECT_EQ(NPBrowser::get()->GetStringIdentifier("voidReturnNoParams"),
401 names[num_names - 1]); 399 names[num_names - 1]);
402 400
403 NPBrowser::get()->MemFree(names); 401 NPBrowser::get()->MemFree(names);
404 } 402 }
405 403
406 } // namespace gpu_plugin 404 } // namespace gpu_plugin
407 } // namespace o3d 405 } // namespace o3d
OLDNEW
« no previous file with comments | « o3d/gpu_plugin/np_utils/default_np_object.h ('k') | o3d/gpu_plugin/np_utils/dynamic_np_object.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698