40 lines
898 B
TypeScript
40 lines
898 B
TypeScript
|
import test from 'ava'
|
||
|
|
||
|
import { napiVersion } from '../napi-version'
|
||
|
|
||
|
const bindings = require('../../index.node')
|
||
|
|
||
|
test('deserialize string', (t) => {
|
||
|
t.notThrows(() => bindings.expect_hello_world('hello world'))
|
||
|
})
|
||
|
|
||
|
test('deserialize object', (t) => {
|
||
|
if (napiVersion < 6) {
|
||
|
t.throws(() => {
|
||
|
bindings.expect_obj({})
|
||
|
})
|
||
|
} else {
|
||
|
t.notThrows(() =>
|
||
|
bindings.expect_obj({
|
||
|
a: 1,
|
||
|
b: [1, 2],
|
||
|
c: 'abc',
|
||
|
d: false,
|
||
|
e: null,
|
||
|
f: null,
|
||
|
g: [9, false, 'efg'],
|
||
|
h: '🤷',
|
||
|
i: 'Empty',
|
||
|
j: { Tuple: [27, 'hij'] },
|
||
|
k: { Struct: { a: 128, b: [9, 8, 7] } },
|
||
|
l: 'jkl',
|
||
|
m: [0, 1, 2, 3, 4],
|
||
|
o: { Value: ['z', 'y', 'x'] },
|
||
|
p: [1, 2, 3.5],
|
||
|
q: BigInt('9998881288248882845242411222333'),
|
||
|
r: BigInt('-3332323888900001232323022221345'),
|
||
|
}),
|
||
|
)
|
||
|
}
|
||
|
})
|