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

Side by Side Diff: o3d/gpu_plugin/np_utils/np_object_pointer_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
« no previous file with comments | « o3d/gpu_plugin/np_utils/np_object_mock.h ('k') | o3d/gpu_plugin/np_utils/np_utils.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "o3d/gpu_plugin/np_utils/base_np_object_mock.h" 5 #include "o3d/gpu_plugin/np_utils/np_class.h"
6 #include "o3d/gpu_plugin/np_utils/np_object_mock.h"
6 #include "o3d/gpu_plugin/np_utils/np_browser_stub.h" 7 #include "o3d/gpu_plugin/np_utils/np_browser_stub.h"
7 #include "o3d/gpu_plugin/np_utils/np_object_pointer.h" 8 #include "o3d/gpu_plugin/np_utils/np_object_pointer.h"
8 #include "testing/gmock/include/gmock/gmock.h" 9 #include "testing/gmock/include/gmock/gmock.h"
9 #include "testing/gtest/include/gtest/gtest.h" 10 #include "testing/gtest/include/gtest/gtest.h"
10 11
11 using testing::Return; 12 using testing::Return;
12 using testing::StrictMock; 13 using testing::StrictMock;
13 14
14 namespace o3d { 15 namespace o3d {
15 namespace gpu_plugin { 16 namespace gpu_plugin {
16 17
17 class DerivedNPObject : public MockBaseNPObject { 18 class DerivedNPObject : public MockNPObject {
18 public: 19 public:
19 explicit DerivedNPObject(NPP npp) : MockBaseNPObject(npp) { 20 explicit DerivedNPObject(NPP npp) : MockNPObject(npp) {
20 } 21 }
21 }; 22 };
22 23
23 class NPObjectPointerTest : public testing::Test { 24 class NPObjectPointerTest : public testing::Test {
24 protected: 25 protected:
25 virtual void SetUp() { 26 virtual void SetUp() {
26 np_class_ = BaseNPObject::GetNPClass<StrictMock<MockBaseNPObject> >(); 27 np_class_ = NPGetClass<StrictMock<MockNPObject> >();
27 28
28 // Make sure no MockBaseNPObject objects exist before test. 29 raw_pointer_ = static_cast<MockNPObject*>(
29 ASSERT_EQ(0, MockBaseNPObject::count());
30
31 raw_pointer_ = static_cast<MockBaseNPObject*>(
32 NPBrowser::get()->CreateObject(NULL, np_class_)); 30 NPBrowser::get()->CreateObject(NULL, np_class_));
33 31
34 raw_derived_pointer_ = static_cast<DerivedNPObject*>( 32 raw_derived_pointer_ = static_cast<DerivedNPObject*>(
35 NPBrowser::get()->CreateObject(NULL, np_class_)); 33 NPBrowser::get()->CreateObject(NULL, np_class_));
36 } 34 }
37 35
38 virtual void TearDown() { 36 virtual void TearDown() {
39 NPBrowser::get()->ReleaseObject(raw_pointer_); 37 NPBrowser::get()->ReleaseObject(raw_pointer_);
40 NPBrowser::get()->ReleaseObject(raw_derived_pointer_); 38 NPBrowser::get()->ReleaseObject(raw_derived_pointer_);
41
42 // Make sure no MockBaseNPObject leaked an object.
43 ASSERT_EQ(0, MockBaseNPObject::count());
44 } 39 }
45 40
46 StubNPBrowser stub_browser_; 41 StubNPBrowser stub_browser_;
47 const NPClass* np_class_; 42 const NPClass* np_class_;
48 MockBaseNPObject* raw_pointer_; 43 MockNPObject* raw_pointer_;
49 DerivedNPObject* raw_derived_pointer_; 44 DerivedNPObject* raw_derived_pointer_;
50 }; 45 };
51 46
52 TEST_F(NPObjectPointerTest, PointerIsNullByDefault) { 47 TEST_F(NPObjectPointerTest, PointerIsNullByDefault) {
53 NPObjectPointer<MockBaseNPObject> p; 48 NPObjectPointer<MockNPObject> p;
54 ASSERT_TRUE(NULL == p.Get()); 49 ASSERT_TRUE(NULL == p.Get());
55 } 50 }
56 51
57 TEST_F(NPObjectPointerTest, PointerCanBeExplicitlyConstructedFromRawPointer) { 52 TEST_F(NPObjectPointerTest, PointerCanBeExplicitlyConstructedFromRawPointer) {
58 EXPECT_EQ(1, raw_pointer_->referenceCount); 53 EXPECT_EQ(1, raw_pointer_->referenceCount);
59 { 54 {
60 NPObjectPointer<MockBaseNPObject> p(raw_pointer_); 55 NPObjectPointer<MockNPObject> p(raw_pointer_);
61 ASSERT_TRUE(raw_pointer_ == p.Get()); 56 ASSERT_TRUE(raw_pointer_ == p.Get());
62 EXPECT_EQ(2, raw_pointer_->referenceCount); 57 EXPECT_EQ(2, raw_pointer_->referenceCount);
63 } 58 }
64 EXPECT_EQ(1, raw_pointer_->referenceCount); 59 EXPECT_EQ(1, raw_pointer_->referenceCount);
65 } 60 }
66 61
67 TEST_F(NPObjectPointerTest, 62 TEST_F(NPObjectPointerTest,
68 PointerCanBeExplicitlyConstructedFromNullRawPointer) { 63 PointerCanBeExplicitlyConstructedFromNullRawPointer) {
69 NPObjectPointer<MockBaseNPObject> p(NULL); 64 NPObjectPointer<MockNPObject> p(NULL);
70 ASSERT_TRUE(NULL == p.Get()); 65 ASSERT_TRUE(NULL == p.Get());
71 } 66 }
72 67
73 TEST_F(NPObjectPointerTest, PointerCanBeCopyConstructed) { 68 TEST_F(NPObjectPointerTest, PointerCanBeCopyConstructed) {
74 NPObjectPointer<MockBaseNPObject> p1(raw_pointer_); 69 NPObjectPointer<MockNPObject> p1(raw_pointer_);
75 EXPECT_EQ(2, raw_pointer_->referenceCount); 70 EXPECT_EQ(2, raw_pointer_->referenceCount);
76 { 71 {
77 NPObjectPointer<MockBaseNPObject> p2(p1); 72 NPObjectPointer<MockNPObject> p2(p1);
78 ASSERT_TRUE(raw_pointer_ == p2.Get()); 73 ASSERT_TRUE(raw_pointer_ == p2.Get());
79 EXPECT_EQ(3, raw_pointer_->referenceCount); 74 EXPECT_EQ(3, raw_pointer_->referenceCount);
80 } 75 }
81 EXPECT_EQ(2, raw_pointer_->referenceCount); 76 EXPECT_EQ(2, raw_pointer_->referenceCount);
82 } 77 }
83 78
84 TEST_F(NPObjectPointerTest, PointerCanBeConstructedFromDerived) { 79 TEST_F(NPObjectPointerTest, PointerCanBeConstructedFromDerived) {
85 NPObjectPointer<DerivedNPObject> p1(raw_derived_pointer_); 80 NPObjectPointer<DerivedNPObject> p1(raw_derived_pointer_);
86 EXPECT_EQ(2, raw_derived_pointer_->referenceCount); 81 EXPECT_EQ(2, raw_derived_pointer_->referenceCount);
87 { 82 {
88 NPObjectPointer<MockBaseNPObject> p2(p1); 83 NPObjectPointer<MockNPObject> p2(p1);
89 ASSERT_TRUE(raw_derived_pointer_ == p2.Get()); 84 ASSERT_TRUE(raw_derived_pointer_ == p2.Get());
90 EXPECT_EQ(3, raw_derived_pointer_->referenceCount); 85 EXPECT_EQ(3, raw_derived_pointer_->referenceCount);
91 } 86 }
92 EXPECT_EQ(2, raw_derived_pointer_->referenceCount); 87 EXPECT_EQ(2, raw_derived_pointer_->referenceCount);
93 } 88 }
94 89
95 TEST_F(NPObjectPointerTest, 90 TEST_F(NPObjectPointerTest,
96 PointerCanBeCopyConstructedFromNull) { 91 PointerCanBeCopyConstructedFromNull) {
97 NPObjectPointer<MockBaseNPObject> p(NULL); 92 NPObjectPointer<MockNPObject> p(NULL);
98 ASSERT_TRUE(NULL == p.Get()); 93 ASSERT_TRUE(NULL == p.Get());
99 } 94 }
100 95
101 TEST_F(NPObjectPointerTest, PointerCanBeAssigned) { 96 TEST_F(NPObjectPointerTest, PointerCanBeAssigned) {
102 NPObjectPointer<MockBaseNPObject> p1(raw_pointer_); 97 NPObjectPointer<MockNPObject> p1(raw_pointer_);
103 EXPECT_EQ(2, raw_pointer_->referenceCount); 98 EXPECT_EQ(2, raw_pointer_->referenceCount);
104 { 99 {
105 NPObjectPointer<MockBaseNPObject> p2; 100 NPObjectPointer<MockNPObject> p2;
106 p2 = p1; 101 p2 = p1;
107 ASSERT_TRUE(raw_pointer_ == p2.Get()); 102 ASSERT_TRUE(raw_pointer_ == p2.Get());
108 EXPECT_EQ(3, raw_pointer_->referenceCount); 103 EXPECT_EQ(3, raw_pointer_->referenceCount);
109 104
110 p2 = NPObjectPointer<MockBaseNPObject>(); 105 p2 = NPObjectPointer<MockNPObject>();
111 ASSERT_TRUE(NULL == p2.Get()); 106 ASSERT_TRUE(NULL == p2.Get());
112 EXPECT_EQ(2, raw_pointer_->referenceCount); 107 EXPECT_EQ(2, raw_pointer_->referenceCount);
113 108
114 p2 = p1; 109 p2 = p1;
115 ASSERT_TRUE(raw_pointer_ == p2.Get()); 110 ASSERT_TRUE(raw_pointer_ == p2.Get());
116 EXPECT_EQ(3, raw_pointer_->referenceCount); 111 EXPECT_EQ(3, raw_pointer_->referenceCount);
117 } 112 }
118 EXPECT_EQ(2, raw_pointer_->referenceCount); 113 EXPECT_EQ(2, raw_pointer_->referenceCount);
119 } 114 }
120 115
121 TEST_F(NPObjectPointerTest, PointerCanBeAssignedToSelf) { 116 TEST_F(NPObjectPointerTest, PointerCanBeAssignedToSelf) {
122 NPObjectPointer<MockBaseNPObject> p(raw_pointer_); 117 NPObjectPointer<MockNPObject> p(raw_pointer_);
123 NPBrowser::get()->ReleaseObject(raw_pointer_); 118 NPBrowser::get()->ReleaseObject(raw_pointer_);
124 EXPECT_EQ(1, raw_pointer_->referenceCount); 119 EXPECT_EQ(1, raw_pointer_->referenceCount);
125 p = p; 120 p = p;
126 EXPECT_EQ(1, raw_pointer_->referenceCount); 121 EXPECT_EQ(1, raw_pointer_->referenceCount);
127 NPBrowser::get()->RetainObject(raw_pointer_); 122 NPBrowser::get()->RetainObject(raw_pointer_);
128 } 123 }
129 124
130 TEST_F(NPObjectPointerTest, PointerCanBeAssignedDerived) { 125 TEST_F(NPObjectPointerTest, PointerCanBeAssignedDerived) {
131 NPObjectPointer<DerivedNPObject> p1(raw_derived_pointer_); 126 NPObjectPointer<DerivedNPObject> p1(raw_derived_pointer_);
132 EXPECT_EQ(2, raw_derived_pointer_->referenceCount); 127 EXPECT_EQ(2, raw_derived_pointer_->referenceCount);
133 { 128 {
134 NPObjectPointer<MockBaseNPObject> p2; 129 NPObjectPointer<MockNPObject> p2;
135 p2 = p1; 130 p2 = p1;
136 ASSERT_TRUE(raw_derived_pointer_ == p2.Get()); 131 ASSERT_TRUE(raw_derived_pointer_ == p2.Get());
137 EXPECT_EQ(3, raw_derived_pointer_->referenceCount); 132 EXPECT_EQ(3, raw_derived_pointer_->referenceCount);
138 133
139 p2 = NPObjectPointer<MockBaseNPObject>(); 134 p2 = NPObjectPointer<MockNPObject>();
140 ASSERT_TRUE(NULL == p2.Get()); 135 ASSERT_TRUE(NULL == p2.Get());
141 EXPECT_EQ(2, raw_derived_pointer_->referenceCount); 136 EXPECT_EQ(2, raw_derived_pointer_->referenceCount);
142 137
143 p2 = p1; 138 p2 = p1;
144 ASSERT_TRUE(raw_derived_pointer_ == p2.Get()); 139 ASSERT_TRUE(raw_derived_pointer_ == p2.Get());
145 EXPECT_EQ(3, raw_derived_pointer_->referenceCount); 140 EXPECT_EQ(3, raw_derived_pointer_->referenceCount);
146 } 141 }
147 EXPECT_EQ(2, raw_derived_pointer_->referenceCount); 142 EXPECT_EQ(2, raw_derived_pointer_->referenceCount);
148 } 143 }
149 144
150 TEST_F(NPObjectPointerTest, DerivedPointerCanBeAssignedToSelf) { 145 TEST_F(NPObjectPointerTest, DerivedPointerCanBeAssignedToSelf) {
151 NPObjectPointer<MockBaseNPObject> p1(raw_derived_pointer_); 146 NPObjectPointer<MockNPObject> p1(raw_derived_pointer_);
152 NPObjectPointer<DerivedNPObject> p2(raw_derived_pointer_); 147 NPObjectPointer<DerivedNPObject> p2(raw_derived_pointer_);
153 NPBrowser::get()->ReleaseObject(raw_derived_pointer_); 148 NPBrowser::get()->ReleaseObject(raw_derived_pointer_);
154 NPBrowser::get()->ReleaseObject(raw_derived_pointer_); 149 NPBrowser::get()->ReleaseObject(raw_derived_pointer_);
155 EXPECT_EQ(1, raw_derived_pointer_->referenceCount); 150 EXPECT_EQ(1, raw_derived_pointer_->referenceCount);
156 p1 = p2; 151 p1 = p2;
157 EXPECT_EQ(1, raw_derived_pointer_->referenceCount); 152 EXPECT_EQ(1, raw_derived_pointer_->referenceCount);
158 NPBrowser::get()->RetainObject(raw_derived_pointer_); 153 NPBrowser::get()->RetainObject(raw_derived_pointer_);
159 NPBrowser::get()->RetainObject(raw_derived_pointer_); 154 NPBrowser::get()->RetainObject(raw_derived_pointer_);
160 } 155 }
161 156
162 TEST_F(NPObjectPointerTest, CanComparePointersForEqual) { 157 TEST_F(NPObjectPointerTest, CanComparePointersForEqual) {
163 NPObjectPointer<MockBaseNPObject> p1(raw_pointer_); 158 NPObjectPointer<MockNPObject> p1(raw_pointer_);
164 NPObjectPointer<DerivedNPObject> p2(raw_derived_pointer_); 159 NPObjectPointer<DerivedNPObject> p2(raw_derived_pointer_);
165 EXPECT_TRUE(p1 == p1); 160 EXPECT_TRUE(p1 == p1);
166 EXPECT_FALSE(p1 == p2); 161 EXPECT_FALSE(p1 == p2);
167 EXPECT_FALSE(p2 == p1); 162 EXPECT_FALSE(p2 == p1);
168 EXPECT_FALSE(p1 == NPObjectPointer<MockBaseNPObject>()); 163 EXPECT_FALSE(p1 == NPObjectPointer<MockNPObject>());
169 } 164 }
170 165
171 TEST_F(NPObjectPointerTest, CanComparePointersForNotEqual) { 166 TEST_F(NPObjectPointerTest, CanComparePointersForNotEqual) {
172 NPObjectPointer<MockBaseNPObject> p1(raw_pointer_); 167 NPObjectPointer<MockNPObject> p1(raw_pointer_);
173 NPObjectPointer<DerivedNPObject> p2(raw_derived_pointer_); 168 NPObjectPointer<DerivedNPObject> p2(raw_derived_pointer_);
174 EXPECT_FALSE(p1 != p1); 169 EXPECT_FALSE(p1 != p1);
175 EXPECT_TRUE(p1 != p2); 170 EXPECT_TRUE(p1 != p2);
176 EXPECT_TRUE(p2 != p1); 171 EXPECT_TRUE(p2 != p1);
177 EXPECT_TRUE(p1 != NPObjectPointer<MockBaseNPObject>()); 172 EXPECT_TRUE(p1 != NPObjectPointer<MockNPObject>());
178 } 173 }
179 174
180 TEST_F(NPObjectPointerTest, ArrowOperatorCanBeUsedToAccessNPObjectMembers) { 175 TEST_F(NPObjectPointerTest, ArrowOperatorCanBeUsedToAccessNPObjectMembers) {
181 NPIdentifier name = NPBrowser::get()->GetStringIdentifier("hello"); 176 NPIdentifier name = NPBrowser::get()->GetStringIdentifier("hello");
182 177
183 EXPECT_CALL(*raw_pointer_, HasProperty(name)).WillOnce(Return(true)); 178 EXPECT_CALL(*raw_pointer_, HasProperty(name)).WillOnce(Return(true));
184 179
185 NPObjectPointer<MockBaseNPObject> p(raw_pointer_); 180 NPObjectPointer<MockNPObject> p(raw_pointer_);
186 EXPECT_TRUE(p->HasProperty(name)); 181 EXPECT_TRUE(p->HasProperty(name));
187 } 182 }
188 183
189 TEST_F(NPObjectPointerTest, StarOperatorReturnsNPObjectReference) { 184 TEST_F(NPObjectPointerTest, StarOperatorReturnsNPObjectReference) {
190 NPObjectPointer<MockBaseNPObject> p(raw_pointer_); 185 NPObjectPointer<MockNPObject> p(raw_pointer_);
191 EXPECT_EQ(raw_pointer_, &*p); 186 EXPECT_EQ(raw_pointer_, &*p);
192 } 187 }
193 188
194 TEST_F(NPObjectPointerTest, PointerCanBeConstructedFromReturnedNPObject) { 189 TEST_F(NPObjectPointerTest, PointerCanBeConstructedFromReturnedNPObject) {
195 NPBrowser::get()->RetainObject(raw_pointer_); 190 NPBrowser::get()->RetainObject(raw_pointer_);
196 EXPECT_EQ(2, raw_pointer_->referenceCount); 191 EXPECT_EQ(2, raw_pointer_->referenceCount);
197 { 192 {
198 NPObjectPointer<MockBaseNPObject> p( 193 NPObjectPointer<MockNPObject> p(
199 NPObjectPointer<MockBaseNPObject>::FromReturned(raw_pointer_)); 194 NPObjectPointer<MockNPObject>::FromReturned(raw_pointer_));
200 EXPECT_EQ(2, raw_pointer_->referenceCount); 195 EXPECT_EQ(2, raw_pointer_->referenceCount);
201 } 196 }
202 EXPECT_EQ(1, raw_pointer_->referenceCount); 197 EXPECT_EQ(1, raw_pointer_->referenceCount);
203 } 198 }
204 199
205 TEST_F(NPObjectPointerTest, PointerCanBeConstructedFromReturnedNullNPObject) { 200 TEST_F(NPObjectPointerTest, PointerCanBeConstructedFromReturnedNullNPObject) {
206 NPObjectPointer<MockBaseNPObject> p( 201 NPObjectPointer<MockNPObject> p(
207 NPObjectPointer<MockBaseNPObject>::FromReturned(NULL)); 202 NPObjectPointer<MockNPObject>::FromReturned(NULL));
208 EXPECT_TRUE(NULL == p.Get()); 203 EXPECT_TRUE(NULL == p.Get());
209 } 204 }
210 205
211 TEST_F(NPObjectPointerTest, PointerCanBeReturnedAsARawNPObject) { 206 TEST_F(NPObjectPointerTest, PointerCanBeReturnedAsARawNPObject) {
212 NPObjectPointer<MockBaseNPObject> p(raw_pointer_); 207 NPObjectPointer<MockNPObject> p(raw_pointer_);
213 EXPECT_EQ(raw_pointer_, p.ToReturned()); 208 EXPECT_EQ(raw_pointer_, p.ToReturned());
214 209
215 // Check reference count is incremented before return for caller. 210 // Check reference count is incremented before return for caller.
216 EXPECT_EQ(3, raw_pointer_->referenceCount); 211 EXPECT_EQ(3, raw_pointer_->referenceCount);
217 212
218 NPBrowser::get()->ReleaseObject(raw_pointer_); 213 NPBrowser::get()->ReleaseObject(raw_pointer_);
219 } 214 }
220 215
221 TEST_F(NPObjectPointerTest, NULLPointerCanBeReturnedAsARawNPObject) { 216 TEST_F(NPObjectPointerTest, NULLPointerCanBeReturnedAsARawNPObject) {
222 NPObjectPointer<MockBaseNPObject> p; 217 NPObjectPointer<MockNPObject> p;
223 EXPECT_TRUE(NULL == p.ToReturned()); 218 EXPECT_TRUE(NULL == p.ToReturned());
224 } 219 }
225 220
226 } // namespace gpu_plugin 221 } // namespace gpu_plugin
227 } // namespace o3d 222 } // namespace o3d
OLDNEW
« no previous file with comments | « o3d/gpu_plugin/np_utils/np_object_mock.h ('k') | o3d/gpu_plugin/np_utils/np_utils.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698