diff --git a/test/basic_types/boolean.cc b/test/basic_types/boolean.cc new file mode 100644 index 0000000..c874845 --- /dev/null +++ b/test/basic_types/boolean.cc @@ -0,0 +1,15 @@ +#include "napi.h" + +using namespace Napi; + +Value CreateBoolean(const CallbackInfo& info) { + return Boolean::New(info.Env(), info[0].As().Value()); +} + +Object InitBasicTypesBoolean(Env env) { + Object exports = Object::New(env); + + exports["createBoolean"] = Function::New(env, CreateBoolean); + + return exports; +} diff --git a/test/basic_types/boolean.js b/test/basic_types/boolean.js new file mode 100644 index 0000000..3a9c88d --- /dev/null +++ b/test/basic_types/boolean.js @@ -0,0 +1,14 @@ +'use strict'; +const buildType = process.config.target_defaults.default_configuration; +const assert = require('assert'); + +test(require(`../build/${buildType}/binding.node`)); +test(require(`../build/${buildType}/binding_noexcept.node`)); + +function test(binding) { + const bool1 = binding.basic_types_boolean.createBoolean(true); + assert.strictEqual(bool1, true); + + const bool2 = binding.basic_types_boolean.createBoolean(false); + assert.strictEqual(bool2, false); +} diff --git a/test/binding.cc b/test/binding.cc index 6142ea0..aa807e7 100644 --- a/test/binding.cc +++ b/test/binding.cc @@ -4,6 +4,7 @@ using namespace Napi; Object InitArrayBuffer(Env env); Object InitAsyncWorker(Env env); +Object InitBasicTypesBoolean(Env env); Object InitBasicTypesNumber(Env env); Object InitBasicTypesValue(Env env); Object InitBigInt(Env env); @@ -25,6 +26,7 @@ Object InitObjectReference(Env env); Object Init(Env env, Object exports) { exports.Set("arraybuffer", InitArrayBuffer(env)); exports.Set("asyncworker", InitAsyncWorker(env)); + exports.Set("basic_types_boolean", InitBasicTypesBoolean(env)); exports.Set("basic_types_number", InitBasicTypesNumber(env)); exports.Set("basic_types_value", InitBasicTypesValue(env)); exports.Set("bigint", InitBigInt(env)); diff --git a/test/binding.gyp b/test/binding.gyp index 3ca18ea..cc75c09 100644 --- a/test/binding.gyp +++ b/test/binding.gyp @@ -3,6 +3,7 @@ 'sources': [ 'arraybuffer.cc', 'asyncworker.cc', + 'basic_types/boolean.cc', 'basic_types/number.cc', 'basic_types/value.cc', 'bigint.cc', diff --git a/test/index.js b/test/index.js index 5806250..5ae5540 100644 --- a/test/index.js +++ b/test/index.js @@ -10,6 +10,7 @@ process.config.target_defaults.default_configuration = let testModules = [ 'arraybuffer', 'asyncworker', + 'basic_types/boolean', 'basic_types/number', 'basic_types/value', 'bigint',