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>
25 lines
513 B
TypeScript
25 lines
513 B
TypeScript
import ava from 'ava'
|
|
|
|
import { napiVersion } from '../napi-version'
|
|
|
|
const bindings = require('../../index.node')
|
|
|
|
const test = napiVersion >= 8 ? ava : ava.skip
|
|
|
|
test('should be able to freeze object', (t) => {
|
|
const obj: any = {}
|
|
bindings.testFreezeObject(obj)
|
|
t.true(Object.isFrozen(obj))
|
|
t.throws(() => {
|
|
obj.a = 1
|
|
})
|
|
})
|
|
|
|
test('should be able to seal object', (t) => {
|
|
const obj: any = {}
|
|
bindings.testSealObject(obj)
|
|
t.true(Object.isSealed(obj))
|
|
t.throws(() => {
|
|
obj.a = 1
|
|
})
|
|
})
|