Browse Source

test: drop Isolate::GetCurrent() from addon tests

v8::Isolate::GetCurrent() is not exactly deprecated at this point but
its use is strongly discouraged.  Update the addon tests so they no
longer use it.

PR-URL: https://github.com/nodejs/node/pull/2427
Reviewed-By: Trevor Norris <trev.norris@gmail.com>
v4.0.0-rc
Ben Noordhuis 9 years ago
parent
commit
71119284f9
  1. 8
      test/addons/async-hello-world/binding.cc
  2. 6
      test/addons/at-exit/binding.cc
  3. 2
      test/addons/hello-world-function-export/binding.cc
  4. 2
      test/addons/hello-world/binding.cc

8
test/addons/async-hello-world/binding.cc

@ -7,6 +7,7 @@ struct async_req {
uv_work_t req; uv_work_t req;
int input; int input;
int output; int output;
v8::Isolate* isolate;
v8::Persistent<v8::Function> callback; v8::Persistent<v8::Function> callback;
}; };
@ -17,9 +18,9 @@ void DoAsync(uv_work_t* r) {
} }
void AfterAsync(uv_work_t* r) { void AfterAsync(uv_work_t* r) {
v8::Isolate* isolate = v8::Isolate::GetCurrent();
v8::HandleScope scope(isolate);
async_req* req = reinterpret_cast<async_req*>(r->data); async_req* req = reinterpret_cast<async_req*>(r->data);
v8::Isolate* isolate = req->isolate;
v8::HandleScope scope(isolate);
v8::Handle<v8::Value> argv[2] = { v8::Handle<v8::Value> argv[2] = {
v8::Null(isolate), v8::Null(isolate),
@ -42,7 +43,7 @@ void AfterAsync(uv_work_t* r) {
} }
void Method(const v8::FunctionCallbackInfo<v8::Value>& args) { void Method(const v8::FunctionCallbackInfo<v8::Value>& args) {
v8::Isolate* isolate = v8::Isolate::GetCurrent(); v8::Isolate* isolate = args.GetIsolate();
v8::HandleScope scope(isolate); v8::HandleScope scope(isolate);
async_req* req = new async_req; async_req* req = new async_req;
@ -50,6 +51,7 @@ void Method(const v8::FunctionCallbackInfo<v8::Value>& args) {
req->input = args[0]->IntegerValue(); req->input = args[0]->IntegerValue();
req->output = 0; req->output = 0;
req->isolate = isolate;
v8::Local<v8::Function> callback = v8::Local<v8::Function>::Cast(args[1]); v8::Local<v8::Function> callback = v8::Local<v8::Function>::Cast(args[1]);
req->callback.Reset(isolate, callback); req->callback.Reset(isolate, callback);

6
test/addons/at-exit/binding.cc

@ -16,10 +16,8 @@ static int at_exit_cb1_called = 0;
static int at_exit_cb2_called = 0; static int at_exit_cb2_called = 0;
static void at_exit_cb1(void* arg) { static void at_exit_cb1(void* arg) {
// FIXME(bnoordhuis) Isolate::GetCurrent() is on its way out. Isolate* isolate = static_cast<Isolate*>(arg);
Isolate* isolate = Isolate::GetCurrent();
HandleScope handle_scope(isolate); HandleScope handle_scope(isolate);
assert(arg == 0);
Local<Object> obj = Object::New(isolate); Local<Object> obj = Object::New(isolate);
assert(!obj.IsEmpty()); // Assert VM is still alive. assert(!obj.IsEmpty()); // Assert VM is still alive.
assert(obj->IsObject()); assert(obj->IsObject());
@ -37,7 +35,7 @@ static void sanity_check(void) {
} }
void init(Handle<Object> target) { void init(Handle<Object> target) {
AtExit(at_exit_cb1); AtExit(at_exit_cb1, target->CreationContext()->GetIsolate());
AtExit(at_exit_cb2, cookie); AtExit(at_exit_cb2, cookie);
AtExit(at_exit_cb2, cookie); AtExit(at_exit_cb2, cookie);
atexit(sanity_check); atexit(sanity_check);

2
test/addons/hello-world-function-export/binding.cc

@ -2,7 +2,7 @@
#include <v8.h> #include <v8.h>
void Method(const v8::FunctionCallbackInfo<v8::Value>& args) { void Method(const v8::FunctionCallbackInfo<v8::Value>& args) {
v8::Isolate* isolate = v8::Isolate::GetCurrent(); v8::Isolate* isolate = args.GetIsolate();
v8::HandleScope scope(isolate); v8::HandleScope scope(isolate);
args.GetReturnValue().Set(v8::String::NewFromUtf8(isolate, "world")); args.GetReturnValue().Set(v8::String::NewFromUtf8(isolate, "world"));
} }

2
test/addons/hello-world/binding.cc

@ -2,7 +2,7 @@
#include <v8.h> #include <v8.h>
void Method(const v8::FunctionCallbackInfo<v8::Value>& args) { void Method(const v8::FunctionCallbackInfo<v8::Value>& args) {
v8::Isolate* isolate = v8::Isolate::GetCurrent(); v8::Isolate* isolate = args.GetIsolate();
v8::HandleScope scope(isolate); v8::HandleScope scope(isolate);
args.GetReturnValue().Set(v8::String::NewFromUtf8(isolate, "world")); args.GetReturnValue().Set(v8::String::NewFromUtf8(isolate, "world"));
} }

Loading…
Cancel
Save