napi-rs/examples/napi-compat-mode/__test__/class.spec.ts

37 lines
1 KiB
TypeScript
Raw Normal View History

import test from 'ava'
2020-08-03 00:31:22 +09:00
const bindings = require('../index.node')
test('should create class', (t) => {
const TestClass = bindings.createTestClass()
const fixture = 20
const testClass = new TestClass(fixture)
t.is(testClass.count, fixture)
const add = 101
testClass.addCount(add)
t.is(testClass.count, fixture + add)
})
2020-10-15 12:10:17 +09:00
test('should be able to manipulate wrapped native value', (t) => {
const TestClass = bindings.createTestClass()
const fixture = 20
const testClass = new TestClass(fixture)
const add = 101
t.is(testClass.addNativeCount(add), fixture + add + 100)
})
2020-10-27 15:19:40 +09:00
2021-09-09 19:57:18 +09:00
test('should be able to re-create wrapped native value', (t) => {
const TestClass = bindings.createTestClass()
const fixture = 20
const testClass = new TestClass(fixture)
const add = 101
t.is(testClass.addNativeCount(add), fixture + add + 100)
testClass.renewWrapped()
t.is(testClass.addNativeCount(0), 42)
})
2020-10-27 15:19:40 +09:00
test('should be able to new class instance in native side', (t) => {
const instance = bindings.newTestClass()
t.is(instance.count, 42)
})