diff options
Diffstat (limited to 'test/addons/02_callbacks')
-rw-r--r-- | test/addons/02_callbacks/binding.cc | 30 | ||||
-rw-r--r-- | test/addons/02_callbacks/binding.gyp | 2 | ||||
-rw-r--r-- | test/addons/02_callbacks/test.js | 10 |
3 files changed, 42 insertions, 0 deletions
diff --git a/test/addons/02_callbacks/binding.cc b/test/addons/02_callbacks/binding.cc new file mode 100644 index 0000000000..53996f648b --- /dev/null +++ b/test/addons/02_callbacks/binding.cc @@ -0,0 +1,30 @@ +// Auto-generated by `node tools/doc/addon-verify.js` +// binding.cc +#include <node.h> + +namespace demo { + +using v8::Function; +using v8::FunctionCallbackInfo; +using v8::Isolate; +using v8::Local; +using v8::Null; +using v8::Object; +using v8::String; +using v8::Value; + +void RunCallback(const FunctionCallbackInfo<Value>& args) { + Isolate* isolate = args.GetIsolate(); + Local<Function> cb = Local<Function>::Cast(args[0]); + const unsigned argc = 1; + Local<Value> argv[argc] = { String::NewFromUtf8(isolate, "hello world") }; + cb->Call(Null(isolate), argc, argv); +} + +void Init(Local<Object> exports, Local<Object> module) { + NODE_SET_METHOD(module, "exports", RunCallback); +} + +NODE_MODULE(NODE_GYP_MODULE_NAME, Init) + +} // namespace demo diff --git a/test/addons/02_callbacks/binding.gyp b/test/addons/02_callbacks/binding.gyp new file mode 100644 index 0000000000..6cd05e5bba --- /dev/null +++ b/test/addons/02_callbacks/binding.gyp @@ -0,0 +1,2 @@ +# Auto-generated by `node tools/doc/addon-verify.js` +{"targets":[{"target_name":"binding","defines":["V8_DEPRECATION_WARNINGS=1"],"sources":["binding.cc","test.js"]}]}
\ No newline at end of file diff --git a/test/addons/02_callbacks/test.js b/test/addons/02_callbacks/test.js new file mode 100644 index 0000000000..e18c44e269 --- /dev/null +++ b/test/addons/02_callbacks/test.js @@ -0,0 +1,10 @@ +// Auto-generated by `node tools/doc/addon-verify.js` +'use strict'; +const common = require('../../common'); +// test.js +const binding = require(`./build/${common.buildType}/binding`); + +binding((msg) => { + console.log(msg); +// Prints: 'hello world' +}); |