#include "node_test_fixture.h" #include "node_internals.h" // RunBootstrapping() void InitializeBinding(v8::Local exports, v8::Local module, v8::Local context, void* priv) { v8::Isolate* isolate = context->GetIsolate(); exports->Set( context, v8::String::NewFromOneByte(isolate, reinterpret_cast("key"), v8::NewStringType::kNormal).ToLocalChecked(), v8::String::NewFromOneByte(isolate, reinterpret_cast("value"), v8::NewStringType::kNormal).ToLocalChecked()) .FromJust(); } NODE_MODULE_LINKED(cctest_linkedbinding, InitializeBinding) class LinkedBindingTest : public EnvironmentTestFixture {}; TEST_F(LinkedBindingTest, SimpleTest) { const v8::HandleScope handle_scope(isolate_); const Argv argv; Env test_env {handle_scope, argv}; v8::Local context = isolate_->GetCurrentContext(); const char* run_script = "process._linkedBinding('cctest_linkedbinding').key"; v8::Local script = v8::Script::Compile( context, v8::String::NewFromOneByte(isolate_, reinterpret_cast(run_script), v8::NewStringType::kNormal).ToLocalChecked()) .ToLocalChecked(); v8::Local completion_value = script->Run(context).ToLocalChecked(); v8::String::Utf8Value utf8val(isolate_, completion_value); CHECK_NOT_NULL(*utf8val); CHECK_EQ(strcmp(*utf8val, "value"), 0); }