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>
22 lines
648 B
TypeScript
22 lines
648 B
TypeScript
import test from 'ava'
|
|
|
|
const bindings = require('../index.node')
|
|
|
|
test('should create named symbol', (t) => {
|
|
const symbol = bindings.createNamedSymbol()
|
|
t.true(typeof symbol === 'symbol')
|
|
t.is(symbol.toString(), 'Symbol(native)')
|
|
})
|
|
|
|
test('should create unnamed symbol', (t) => {
|
|
const symbol = bindings.createUnnamedSymbol()
|
|
t.true(typeof symbol === 'symbol')
|
|
t.is(symbol.toString(), 'Symbol()')
|
|
})
|
|
|
|
test('should create symbol from JsString', (t) => {
|
|
const fixture = 'N-API Symbol'
|
|
const symbol = bindings.createSymbolFromJsString(fixture)
|
|
t.true(typeof symbol === 'symbol')
|
|
t.is(symbol.toString(), `Symbol(${fixture})`)
|
|
})
|