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() {
|
||||
return v8_platform.Platform();
|
||||
}
|
||||
|
@ -265,6 +265,9 @@ NODE_EXTERN Environment* CreateEnvironment(IsolateData* isolate_data,
|
||||
NODE_EXTERN void LoadEnvironment(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.
|
||||
// If NODE_USE_V8_PLATFORM haven't been defined when Node.js was built,
|
||||
// it returns nullptr.
|
||||
|
@ -80,13 +80,16 @@ TEST_F(EnvironmentTest, NonNodeJSContext) {
|
||||
node::Environment* env = *test_env;
|
||||
EXPECT_EQ(node::Environment::GetCurrent(isolate_), 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_);
|
||||
EXPECT_EQ(node::Environment::GetCurrent(context), nullptr);
|
||||
EXPECT_EQ(node::GetCurrentEnvironment(context), nullptr);
|
||||
EXPECT_EQ(node::Environment::GetCurrent(isolate_), env);
|
||||
|
||||
v8::Context::Scope context_scope(context);
|
||||
EXPECT_EQ(node::Environment::GetCurrent(context), nullptr);
|
||||
EXPECT_EQ(node::GetCurrentEnvironment(context), nullptr);
|
||||
EXPECT_EQ(node::Environment::GetCurrent(isolate_), nullptr);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user