src,test: add public wrapper for Environment::GetCurrent
PR-URL: https://github.com/nodejs/node/pull/23676 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com>
This commit is contained in:
parent
b3ae9150de
commit
0feb21fb02
@ -2760,6 +2760,11 @@ void FreeEnvironment(Environment* env) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Environment* GetCurrentEnvironment(Local<Context> context) {
|
||||||
|
return Environment::GetCurrent(context);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
MultiIsolatePlatform* GetMainThreadMultiIsolatePlatform() {
|
MultiIsolatePlatform* GetMainThreadMultiIsolatePlatform() {
|
||||||
return v8_platform.Platform();
|
return v8_platform.Platform();
|
||||||
}
|
}
|
||||||
|
@ -265,6 +265,9 @@ NODE_EXTERN Environment* CreateEnvironment(IsolateData* isolate_data,
|
|||||||
NODE_EXTERN void LoadEnvironment(Environment* env);
|
NODE_EXTERN void LoadEnvironment(Environment* env);
|
||||||
NODE_EXTERN void FreeEnvironment(Environment* env);
|
NODE_EXTERN void FreeEnvironment(Environment* env);
|
||||||
|
|
||||||
|
// This may return nullptr if context is not associated with a Node instance.
|
||||||
|
NODE_EXTERN Environment* GetCurrentEnvironment(v8::Local<v8::Context> context);
|
||||||
|
|
||||||
// This returns the MultiIsolatePlatform used in the main thread of Node.js.
|
// This returns the MultiIsolatePlatform used in the main thread of Node.js.
|
||||||
// If NODE_USE_V8_PLATFORM haven't been defined when Node.js was built,
|
// If NODE_USE_V8_PLATFORM haven't been defined when Node.js was built,
|
||||||
// it returns nullptr.
|
// it returns nullptr.
|
||||||
|
@ -80,13 +80,16 @@ TEST_F(EnvironmentTest, NonNodeJSContext) {
|
|||||||
node::Environment* env = *test_env;
|
node::Environment* env = *test_env;
|
||||||
EXPECT_EQ(node::Environment::GetCurrent(isolate_), env);
|
EXPECT_EQ(node::Environment::GetCurrent(isolate_), env);
|
||||||
EXPECT_EQ(node::Environment::GetCurrent(env->context()), env);
|
EXPECT_EQ(node::Environment::GetCurrent(env->context()), env);
|
||||||
|
EXPECT_EQ(node::GetCurrentEnvironment(env->context()), env);
|
||||||
|
|
||||||
v8::Local<v8::Context> context = v8::Context::New(isolate_);
|
v8::Local<v8::Context> context = v8::Context::New(isolate_);
|
||||||
EXPECT_EQ(node::Environment::GetCurrent(context), nullptr);
|
EXPECT_EQ(node::Environment::GetCurrent(context), nullptr);
|
||||||
|
EXPECT_EQ(node::GetCurrentEnvironment(context), nullptr);
|
||||||
EXPECT_EQ(node::Environment::GetCurrent(isolate_), env);
|
EXPECT_EQ(node::Environment::GetCurrent(isolate_), env);
|
||||||
|
|
||||||
v8::Context::Scope context_scope(context);
|
v8::Context::Scope context_scope(context);
|
||||||
EXPECT_EQ(node::Environment::GetCurrent(context), nullptr);
|
EXPECT_EQ(node::Environment::GetCurrent(context), nullptr);
|
||||||
|
EXPECT_EQ(node::GetCurrentEnvironment(context), nullptr);
|
||||||
EXPECT_EQ(node::Environment::GetCurrent(isolate_), nullptr);
|
EXPECT_EQ(node::Environment::GetCurrent(isolate_), nullptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user