UNPKG

koffi

Version:

Fast and simple C FFI (foreign function interface) for Node.js

31 lines (24 loc) 1.17 kB
'use strict'; const assert = require('assert'); module.exports = require('../common').runTest(test); function test (binding) { function testSetProperty (nativeSetProperty, key = 'test') { const obj = {}; assert.strictEqual(nativeSetProperty(obj, key, 1), true); assert.strictEqual(obj[key], 1); } function testShouldThrowErrorIfKeyIsInvalid (nativeSetProperty) { assert.throws(() => { nativeSetProperty(undefined, 'test', 1); }, /Cannot convert undefined or null to object/); } testSetProperty(binding.object.setPropertyWithNapiValue); testSetProperty(binding.object.setPropertyWithNapiWrapperValue); testSetProperty(binding.object.setPropertyWithCStyleString); testSetProperty(binding.object.setPropertyWithCppStyleString); testSetProperty(binding.object.setPropertyWithUint32, 12); testShouldThrowErrorIfKeyIsInvalid(binding.object.setPropertyWithNapiValue); testShouldThrowErrorIfKeyIsInvalid(binding.object.setPropertyWithNapiWrapperValue); testShouldThrowErrorIfKeyIsInvalid(binding.object.setPropertyWithCStyleString); testShouldThrowErrorIfKeyIsInvalid(binding.object.setPropertyWithCppStyleString); }