| const wasm = require('wasm-bindgen-test.js'); |
| const assert = require('assert'); |
| |
| let SIMPLE_ARG = null; |
| |
| exports.simple_foo = s => { |
| assert.strictEqual(SIMPLE_ARG, null); |
| SIMPLE_ARG = s; |
| }; |
| |
| exports.js_simple = () => { |
| assert.strictEqual(SIMPLE_ARG, null); |
| let sym = Symbol('test'); |
| wasm.simple_bar(sym); |
| assert.strictEqual(SIMPLE_ARG, sym); |
| }; |
| |
| let OWNED_ARG = null; |
| |
| exports.owned_foo = s => { |
| assert.strictEqual(OWNED_ARG, null); |
| OWNED_ARG = s; |
| }; |
| |
| exports.js_owned = () => { |
| assert.strictEqual(OWNED_ARG, null); |
| let sym = Symbol('test'); |
| wasm.owned_bar(sym); |
| assert.strictEqual(OWNED_ARG, sym); |
| }; |
| |
| let CLONE_ARG = Symbol('test'); |
| |
| exports.clone_foo1 = s => { |
| assert.strictEqual(s, CLONE_ARG); |
| }; |
| exports.clone_foo2 = s => { |
| assert.strictEqual(s, CLONE_ARG); |
| }; |
| exports.clone_foo3 = s => { |
| assert.strictEqual(s, CLONE_ARG); |
| }; |
| exports.clone_foo4 = s => { |
| assert.strictEqual(s, CLONE_ARG); |
| }; |
| exports.clone_foo5 = s => { |
| assert.strictEqual(s, CLONE_ARG); |
| }; |
| |
| exports.js_clone = () => { |
| wasm.clone_bar(CLONE_ARG); |
| }; |
| |
| |
| let PROMOTE_ARG = Symbol('test'); |
| |
| exports.promote_foo1 = s => { |
| assert.strictEqual(s, PROMOTE_ARG); |
| }; |
| exports.promote_foo2 = s => { |
| assert.strictEqual(s, PROMOTE_ARG); |
| }; |
| exports.promote_foo3 = s => { |
| assert.strictEqual(s, PROMOTE_ARG); |
| }; |
| exports.promote_foo4 = s => { |
| assert.strictEqual(s, PROMOTE_ARG); |
| }; |
| |
| exports.js_promote = () => { |
| wasm.promote_bar(PROMOTE_ARG); |
| }; |
| |
| exports.returning_vector_foo = () => { |
| return {'foo': 'bar'}; |
| }; |
| |
| exports.js_returning_vector = () => { |
| assert.strictEqual(wasm.returning_vector_bar().length, 10); |
| }; |
| |
| exports.js_another_vector_return = () => { |
| assert.deepStrictEqual(wasm.another_vector_return_get_array(), [1, 2, 3, 4, 5, 6]); |
| }; |
| |
| exports.verify_serde = function(a) { |
| assert.deepStrictEqual(a, { |
| a: 0, |
| b: 'foo', |
| c: null, |
| d: { a: 1 } |
| }); |
| |
| return { |
| a: 2, |
| b: 'bar', |
| c: { a: 3 }, |
| d: { a: 4 }, |
| } |
| }; |