2467b7139b
* 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>
20 lines
544 B
TypeScript
20 lines
544 B
TypeScript
import test from 'ava'
|
|
|
|
const bindings = require('../index.node')
|
|
|
|
test('should be able to throw error from native', (t) => {
|
|
t.throws(bindings.testThrow)
|
|
})
|
|
|
|
test('should be able to throw error from native with reason', (t) => {
|
|
const reason = 'Fatal'
|
|
t.throws(() => bindings.testThrowWithReason(reason), null, reason)
|
|
})
|
|
|
|
test('should throw if argument type is not match', (t) => {
|
|
t.throws(() => bindings.testThrowWithReason(2))
|
|
})
|
|
|
|
test('should throw if Rust code panic', (t) => {
|
|
t.throws(() => bindings.testThrowWithPanic())
|
|
})
|