@@ -14,10 +14,6 @@ using v8::Isolate;
1414using v8::Local;
1515using v8::Object;
1616
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-
2117class BaseObjectPtrTest : public EnvironmentTestFixture {};
2218
2319class DummyBaseObject : public BaseObject {
@@ -51,12 +47,12 @@ TEST_F(BaseObjectPtrTest, ScopedDetached) {
5147 Env env_{handle_scope, argv};
5248 Environment* env = *env_;
5349
54- EXPECT_EQ (env->base_object_count (), BASE_OBJECT_COUNT );
50+ EXPECT_EQ (env->base_object_created_after_bootstrap (), 0 );
5551 {
5652 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 );
5854 }
59- EXPECT_EQ (env->base_object_count (), BASE_OBJECT_COUNT );
55+ EXPECT_EQ (env->base_object_created_after_bootstrap (), 0 );
6056}
6157
6258TEST_F (BaseObjectPtrTest, ScopedDetachedWithWeak) {
@@ -67,14 +63,14 @@ TEST_F(BaseObjectPtrTest, ScopedDetachedWithWeak) {
6763
6864 BaseObjectWeakPtr<DummyBaseObject> weak_ptr;
6965
70- EXPECT_EQ (env->base_object_count (), BASE_OBJECT_COUNT );
66+ EXPECT_EQ (env->base_object_created_after_bootstrap (), 0 );
7167 {
7268 BaseObjectPtr<DummyBaseObject> ptr = DummyBaseObject::NewDetached (env);
7369 weak_ptr = ptr;
74- EXPECT_EQ (env->base_object_count (), BASE_OBJECT_COUNT + 1 );
70+ EXPECT_EQ (env->base_object_created_after_bootstrap (), 1 );
7571 }
7672 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 );
7874}
7975
8076TEST_F (BaseObjectPtrTest, Undetached) {
@@ -86,13 +82,12 @@ TEST_F(BaseObjectPtrTest, Undetached) {
8682 node::AddEnvironmentCleanupHook (
8783 isolate_,
8884 [](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 );
9186 },
9287 env);
9388
9489 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 );
9691}
9792
9893TEST_F (BaseObjectPtrTest, GCWeak) {
@@ -109,21 +104,21 @@ TEST_F(BaseObjectPtrTest, GCWeak) {
109104 weak_ptr = ptr;
110105 ptr->MakeWeak ();
111106
112- EXPECT_EQ (env->base_object_count (), BASE_OBJECT_COUNT + 1 );
107+ EXPECT_EQ (env->base_object_created_after_bootstrap (), 1 );
113108 EXPECT_EQ (weak_ptr.get (), ptr.get ());
114109 EXPECT_EQ (weak_ptr->persistent ().IsWeak (), false );
115110
116111 ptr.reset ();
117112 }
118113
119- EXPECT_EQ (env->base_object_count (), BASE_OBJECT_COUNT + 1 );
114+ EXPECT_EQ (env->base_object_created_after_bootstrap (), 1 );
120115 EXPECT_NE (weak_ptr.get (), nullptr );
121116 EXPECT_EQ (weak_ptr->persistent ().IsWeak (), true );
122117
123118 v8::V8::SetFlagsFromString (" --expose-gc" );
124119 isolate_->RequestGarbageCollectionForTesting (Isolate::kFullGarbageCollection );
125120
126- EXPECT_EQ (env->base_object_count (), BASE_OBJECT_COUNT );
121+ EXPECT_EQ (env->base_object_created_after_bootstrap (), 0 );
127122 EXPECT_EQ (weak_ptr.get (), nullptr );
128123}
129124
@@ -134,7 +129,7 @@ TEST_F(BaseObjectPtrTest, Moveable) {
134129 Environment* env = *env_;
135130
136131 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 );
138133 BaseObjectWeakPtr<DummyBaseObject> weak_ptr { ptr };
139134 EXPECT_EQ (weak_ptr.get (), ptr.get ());
140135
@@ -145,12 +140,12 @@ TEST_F(BaseObjectPtrTest, Moveable) {
145140 BaseObjectWeakPtr<DummyBaseObject> weak_ptr2 = std::move (weak_ptr);
146141 EXPECT_EQ (weak_ptr2.get (), ptr2.get ());
147142 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 );
149144
150145 ptr2.reset ();
151146
152147 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 );
154149}
155150
156151TEST_F (BaseObjectPtrTest, NestedClasses) {
@@ -174,8 +169,7 @@ TEST_F(BaseObjectPtrTest, NestedClasses) {
174169 node::AddEnvironmentCleanupHook (
175170 isolate_,
176171 [](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 );
179173 },
180174 env);
181175
@@ -184,5 +178,5 @@ TEST_F(BaseObjectPtrTest, NestedClasses) {
184178 obj->ptr1 = DummyBaseObject::NewDetached (env);
185179 obj->ptr2 = DummyBaseObject::New (env);
186180
187- EXPECT_EQ (env->base_object_count (), BASE_OBJECT_COUNT + 3 );
181+ EXPECT_EQ (env->base_object_created_after_bootstrap (), 3 );
188182}
0 commit comments