napi-rs/examples/napi-compat-mode/__test__/symbol.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

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})`)
})