napi-rs/examples/napi-compat-mode/__test__/spawn.spec.ts
forehalo 2467b7139b
Introduce #[napi] procedural macro to automation development boilerplate (#696)
* napi procedural macro for basic rust/JavaScript types
* introduce the `compat-mode` for `napi` and `napi-derive` crates for backward compatible
* remove #[inline] and let compiler to decide the inline behavior
* cli now can produce the `.d.ts` file for native binding
* many tests and example for the new procedural macro

Co-authored-by: LongYinan <lynweklm@gmail.com>
2021-09-23 01:29:09 +08:00

25 lines
712 B
TypeScript

import test from 'ava'
const bindings = require('../index.node')
test('should be able to spawn thread and return promise', async (t) => {
const result = await bindings.testSpawnThread(20)
t.is(result, 6765)
})
test('should be able to spawn thread with ref value', async (t) => {
const fixture = 'hello'
const result = await bindings.testSpawnThreadWithRef(Buffer.from(fixture))
t.is(result, fixture.length)
})
test('should be able to spawn with error', async (t) => {
const fixture = Array.from({ length: 10 }).fill('0').join('')
const err = new Error('Unreachable')
try {
await bindings.testSpawnThreadWithRef(Buffer.from(fixture))
throw err
} catch (e) {
t.not(e, err)
}
})