@@ -14,10 +14,6 @@ using v8::Isolate;
14
14
using v8::Local;
15
15
using v8::Object;
16
16
17
- // Environments may come with existing BaseObject instances.
18
- // This variable offsets the expected BaseObject counts.
19
- static const int BASE_OBJECT_COUNT = 0 ;
20
-
21
17
class BaseObjectPtrTest : public EnvironmentTestFixture {};
22
18
23
19
class DummyBaseObject : public BaseObject {
@@ -51,12 +47,12 @@ TEST_F(BaseObjectPtrTest, ScopedDetached) {
51
47
Env env_{handle_scope, argv};
52
48
Environment* env = *env_;
53
49
54
- EXPECT_EQ (env->base_object_count (), BASE_OBJECT_COUNT );
50
+ EXPECT_EQ (env->base_object_created_after_bootstrap (), 0 );
55
51
{
56
52
BaseObjectPtr<DummyBaseObject> ptr = DummyBaseObject::NewDetached (env);
57
- EXPECT_EQ (env->base_object_count (), BASE_OBJECT_COUNT + 1 );
53
+ EXPECT_EQ (env->base_object_created_after_bootstrap (), 1 );
58
54
}
59
- EXPECT_EQ (env->base_object_count (), BASE_OBJECT_COUNT );
55
+ EXPECT_EQ (env->base_object_created_after_bootstrap (), 0 );
60
56
}
61
57
62
58
TEST_F (BaseObjectPtrTest, ScopedDetachedWithWeak) {
@@ -67,14 +63,14 @@ TEST_F(BaseObjectPtrTest, ScopedDetachedWithWeak) {
67
63
68
64
BaseObjectWeakPtr<DummyBaseObject> weak_ptr;
69
65
70
- EXPECT_EQ (env->base_object_count (), BASE_OBJECT_COUNT );
66
+ EXPECT_EQ (env->base_object_created_after_bootstrap (), 0 );
71
67
{
72
68
BaseObjectPtr<DummyBaseObject> ptr = DummyBaseObject::NewDetached (env);
73
69
weak_ptr = ptr;
74
- EXPECT_EQ (env->base_object_count (), BASE_OBJECT_COUNT + 1 );
70
+ EXPECT_EQ (env->base_object_created_after_bootstrap (), 1 );
75
71
}
76
72
EXPECT_EQ (weak_ptr.get (), nullptr );
77
- EXPECT_EQ (env->base_object_count (), BASE_OBJECT_COUNT );
73
+ EXPECT_EQ (env->base_object_created_after_bootstrap (), 0 );
78
74
}
79
75
80
76
TEST_F (BaseObjectPtrTest, Undetached) {
@@ -86,13 +82,12 @@ TEST_F(BaseObjectPtrTest, Undetached) {
86
82
node::AddEnvironmentCleanupHook (
87
83
isolate_,
88
84
[](void * arg) {
89
- EXPECT_EQ (static_cast <Environment*>(arg)->base_object_count (),
90
- BASE_OBJECT_COUNT);
85
+ EXPECT_EQ (static_cast <Environment*>(arg)->base_object_count (), 0 );
91
86
},
92
87
env);
93
88
94
89
BaseObjectPtr<DummyBaseObject> ptr = DummyBaseObject::New (env);
95
- EXPECT_EQ (env->base_object_count (), BASE_OBJECT_COUNT + 1 );
90
+ EXPECT_EQ (env->base_object_created_after_bootstrap (), 1 );
96
91
}
97
92
98
93
TEST_F (BaseObjectPtrTest, GCWeak) {
@@ -109,21 +104,21 @@ TEST_F(BaseObjectPtrTest, GCWeak) {
109
104
weak_ptr = ptr;
110
105
ptr->MakeWeak ();
111
106
112
- EXPECT_EQ (env->base_object_count (), BASE_OBJECT_COUNT + 1 );
107
+ EXPECT_EQ (env->base_object_created_after_bootstrap (), 1 );
113
108
EXPECT_EQ (weak_ptr.get (), ptr.get ());
114
109
EXPECT_EQ (weak_ptr->persistent ().IsWeak (), false );
115
110
116
111
ptr.reset ();
117
112
}
118
113
119
- EXPECT_EQ (env->base_object_count (), BASE_OBJECT_COUNT + 1 );
114
+ EXPECT_EQ (env->base_object_created_after_bootstrap (), 1 );
120
115
EXPECT_NE (weak_ptr.get (), nullptr );
121
116
EXPECT_EQ (weak_ptr->persistent ().IsWeak (), true );
122
117
123
118
v8::V8::SetFlagsFromString (" --expose-gc" );
124
119
isolate_->RequestGarbageCollectionForTesting (Isolate::kFullGarbageCollection );
125
120
126
- EXPECT_EQ (env->base_object_count (), BASE_OBJECT_COUNT );
121
+ EXPECT_EQ (env->base_object_created_after_bootstrap (), 0 );
127
122
EXPECT_EQ (weak_ptr.get (), nullptr );
128
123
}
129
124
@@ -134,7 +129,7 @@ TEST_F(BaseObjectPtrTest, Moveable) {
134
129
Environment* env = *env_;
135
130
136
131
BaseObjectPtr<DummyBaseObject> ptr = DummyBaseObject::NewDetached (env);
137
- EXPECT_EQ (env->base_object_count (), BASE_OBJECT_COUNT + 1 );
132
+ EXPECT_EQ (env->base_object_created_after_bootstrap (), 1 );
138
133
BaseObjectWeakPtr<DummyBaseObject> weak_ptr { ptr };
139
134
EXPECT_EQ (weak_ptr.get (), ptr.get ());
140
135
@@ -145,12 +140,12 @@ TEST_F(BaseObjectPtrTest, Moveable) {
145
140
BaseObjectWeakPtr<DummyBaseObject> weak_ptr2 = std::move (weak_ptr);
146
141
EXPECT_EQ (weak_ptr2.get (), ptr2.get ());
147
142
EXPECT_EQ (weak_ptr.get (), nullptr );
148
- EXPECT_EQ (env->base_object_count (), BASE_OBJECT_COUNT + 1 );
143
+ EXPECT_EQ (env->base_object_created_after_bootstrap (), 1 );
149
144
150
145
ptr2.reset ();
151
146
152
147
EXPECT_EQ (weak_ptr2.get (), nullptr );
153
- EXPECT_EQ (env->base_object_count (), BASE_OBJECT_COUNT );
148
+ EXPECT_EQ (env->base_object_created_after_bootstrap (), 0 );
154
149
}
155
150
156
151
TEST_F (BaseObjectPtrTest, NestedClasses) {
@@ -174,8 +169,7 @@ TEST_F(BaseObjectPtrTest, NestedClasses) {
174
169
node::AddEnvironmentCleanupHook (
175
170
isolate_,
176
171
[](void * arg) {
177
- EXPECT_EQ (static_cast <Environment*>(arg)->base_object_count (),
178
- BASE_OBJECT_COUNT);
172
+ EXPECT_EQ (static_cast <Environment*>(arg)->base_object_count (), 0 );
179
173
},
180
174
env);
181
175
@@ -184,5 +178,5 @@ TEST_F(BaseObjectPtrTest, NestedClasses) {
184
178
obj->ptr1 = DummyBaseObject::NewDetached (env);
185
179
obj->ptr2 = DummyBaseObject::New (env);
186
180
187
- EXPECT_EQ (env->base_object_count (), BASE_OBJECT_COUNT + 3 );
181
+ EXPECT_EQ (env->base_object_created_after_bootstrap (), 3 );
188
182
}
0 commit comments