2018-08-03 16:56:13 +03:00
|
|
|
const assert = require('assert');
|
|
|
|
const wasm = require('wasm-bindgen-test.js');
|
|
|
|
|
|
|
|
exports.test_works = function() {
|
|
|
|
assert.strictEqual(wasm.i32_identity(wasm.i32_none()), undefined);
|
|
|
|
assert.strictEqual(wasm.i32_identity(wasm.i32_zero()), 0);
|
|
|
|
assert.strictEqual(wasm.i32_identity(wasm.i32_one()), 1);
|
|
|
|
assert.strictEqual(wasm.i32_identity(wasm.i32_neg_one()), -1);
|
|
|
|
assert.strictEqual(wasm.i32_identity(wasm.i32_max()), 2147483647);
|
|
|
|
assert.strictEqual(wasm.i32_identity(wasm.i32_min()), -2147483648);
|
|
|
|
|
|
|
|
assert.strictEqual(wasm.u32_identity(wasm.u32_none()), undefined);
|
|
|
|
assert.strictEqual(wasm.u32_identity(wasm.u32_zero()), 0);
|
|
|
|
assert.strictEqual(wasm.u32_identity(wasm.u32_one()), 1);
|
|
|
|
assert.strictEqual(wasm.u32_identity(wasm.u32_max()), 4294967295);
|
|
|
|
assert.strictEqual(wasm.u32_identity(wasm.u32_min()), 0);
|
|
|
|
|
|
|
|
assert.strictEqual(wasm.isize_identity(wasm.isize_none()), undefined);
|
|
|
|
assert.strictEqual(wasm.isize_identity(wasm.isize_zero()), 0);
|
|
|
|
assert.strictEqual(wasm.isize_identity(wasm.isize_one()), 1);
|
|
|
|
assert.strictEqual(wasm.isize_identity(wasm.isize_neg_one()), -1);
|
|
|
|
assert.strictEqual(wasm.isize_identity(wasm.isize_max()), 2147483647);
|
|
|
|
assert.strictEqual(wasm.isize_identity(wasm.isize_min()), -2147483648);
|
|
|
|
|
|
|
|
assert.strictEqual(wasm.usize_identity(wasm.usize_none()), undefined);
|
|
|
|
assert.strictEqual(wasm.usize_identity(wasm.usize_zero()), 0);
|
|
|
|
assert.strictEqual(wasm.usize_identity(wasm.usize_one()), 1);
|
|
|
|
assert.strictEqual(wasm.usize_identity(wasm.usize_max()), 4294967295);
|
|
|
|
assert.strictEqual(wasm.usize_identity(wasm.usize_min()), 0);
|
|
|
|
|
|
|
|
assert.strictEqual(wasm.f32_identity(wasm.f32_none()), undefined);
|
|
|
|
assert.strictEqual(wasm.f32_identity(wasm.f32_zero()), 0);
|
|
|
|
assert.strictEqual(wasm.f32_identity(wasm.f32_one()), 1);
|
|
|
|
assert.strictEqual(wasm.f32_identity(wasm.f32_neg_one()), -1);
|
|
|
|
|
|
|
|
assert.strictEqual(wasm.f64_identity(wasm.f64_none()), undefined);
|
|
|
|
assert.strictEqual(wasm.f64_identity(wasm.f64_zero()), 0);
|
|
|
|
assert.strictEqual(wasm.f64_identity(wasm.f64_one()), 1);
|
|
|
|
assert.strictEqual(wasm.f64_identity(wasm.f64_neg_one()), -1);
|
|
|
|
|
|
|
|
assert.strictEqual(wasm.i8_identity(wasm.i8_none()), undefined);
|
|
|
|
assert.strictEqual(wasm.i8_identity(wasm.i8_zero()), 0);
|
|
|
|
assert.strictEqual(wasm.i8_identity(wasm.i8_one()), 1);
|
|
|
|
assert.strictEqual(wasm.i8_identity(wasm.i8_neg_one()), -1);
|
|
|
|
assert.strictEqual(wasm.i8_identity(wasm.i8_max()), 127);
|
|
|
|
assert.strictEqual(wasm.i8_identity(wasm.i8_min()), -128);
|
|
|
|
|
|
|
|
assert.strictEqual(wasm.u8_identity(wasm.u8_none()), undefined);
|
|
|
|
assert.strictEqual(wasm.u8_identity(wasm.u8_zero()), 0);
|
|
|
|
assert.strictEqual(wasm.u8_identity(wasm.u8_one()), 1);
|
|
|
|
assert.strictEqual(wasm.u8_identity(wasm.u8_max()), 255);
|
|
|
|
assert.strictEqual(wasm.u8_identity(wasm.u8_min()), 0);
|
|
|
|
|
|
|
|
assert.strictEqual(wasm.i16_identity(wasm.i16_none()), undefined);
|
|
|
|
assert.strictEqual(wasm.i16_identity(wasm.i16_zero()), 0);
|
|
|
|
assert.strictEqual(wasm.i16_identity(wasm.i16_one()), 1);
|
|
|
|
assert.strictEqual(wasm.i16_identity(wasm.i16_neg_one()), -1);
|
|
|
|
assert.strictEqual(wasm.i16_identity(wasm.i16_max()), 32767);
|
|
|
|
assert.strictEqual(wasm.i16_identity(wasm.i16_min()), -32768);
|
|
|
|
|
|
|
|
assert.strictEqual(wasm.u16_identity(wasm.u16_none()), undefined);
|
|
|
|
assert.strictEqual(wasm.u16_identity(wasm.u16_zero()), 0);
|
|
|
|
assert.strictEqual(wasm.u16_identity(wasm.u16_one()), 1);
|
|
|
|
assert.strictEqual(wasm.u16_identity(wasm.u16_max()), 65535);
|
|
|
|
assert.strictEqual(wasm.u16_identity(wasm.u16_min()), 0);
|
|
|
|
|
|
|
|
assert.strictEqual(wasm.i64_identity(wasm.i64_none()), undefined);
|
2018-08-03 16:58:54 +03:00
|
|
|
assert.strictEqual(wasm.i64_identity(wasm.i64_zero()), BigInt('0'));
|
|
|
|
assert.strictEqual(wasm.i64_identity(wasm.i64_one()), BigInt('1'));
|
|
|
|
assert.strictEqual(wasm.i64_identity(wasm.i64_neg_one()), BigInt('-1'));
|
|
|
|
assert.strictEqual(wasm.i64_identity(wasm.i64_max()), BigInt('9223372036854775807'));
|
|
|
|
assert.strictEqual(wasm.i64_identity(wasm.i64_min()), BigInt('-9223372036854775808'));
|
2018-08-03 16:56:13 +03:00
|
|
|
|
|
|
|
assert.strictEqual(wasm.u64_identity(wasm.u64_none()), undefined);
|
2018-08-03 16:58:54 +03:00
|
|
|
assert.strictEqual(wasm.u64_identity(wasm.u64_zero()), BigInt('0'));
|
|
|
|
assert.strictEqual(wasm.u64_identity(wasm.u64_one()), BigInt('1'));
|
|
|
|
assert.strictEqual(wasm.u64_identity(wasm.u64_max()), BigInt('18446744073709551615'));
|
|
|
|
assert.strictEqual(wasm.u64_identity(wasm.u64_min()), BigInt('0'));
|
2018-08-03 19:07:12 +03:00
|
|
|
|
|
|
|
assert.strictEqual(wasm.bool_identity(wasm.bool_none()), undefined);
|
|
|
|
assert.strictEqual(wasm.bool_identity(wasm.bool_false()), false);
|
|
|
|
assert.strictEqual(wasm.bool_identity(wasm.bool_true()), true);
|
2018-08-03 20:45:57 +03:00
|
|
|
|
|
|
|
assert.strictEqual(wasm.char_identity(wasm.char_none()), undefined);
|
|
|
|
assert.strictEqual(wasm.char_identity(wasm.char_letter()), 'a');
|
|
|
|
assert.strictEqual(wasm.char_identity(wasm.char_face()), '😀');
|
2018-08-03 16:56:13 +03:00
|
|
|
};
|
|
|
|
|
2018-08-03 16:58:54 +03:00
|
|
|
exports.i32_js_identity = function(a) { return a; };
|
|
|
|
exports.u32_js_identity = function(a) { return a; };
|
|
|
|
exports.isize_js_identity = function(a) { return a; };
|
|
|
|
exports.usize_js_identity = function(a) { return a; };
|
|
|
|
exports.f32_js_identity = function(a) { return a; };
|
|
|
|
exports.f64_js_identity = function(a) { return a; };
|
|
|
|
exports.i8_js_identity = function(a) { return a; };
|
|
|
|
exports.u8_js_identity = function(a) { return a; };
|
|
|
|
exports.i16_js_identity = function(a) { return a; };
|
|
|
|
exports.u16_js_identity = function(a) { return a; };
|
|
|
|
exports.i64_js_identity = function(a) { return a; };
|
|
|
|
exports.u64_js_identity = function(a) { return a; };
|
2018-08-03 19:07:12 +03:00
|
|
|
exports.bool_js_identity = function(a) { return a; };
|
2018-08-03 20:45:57 +03:00
|
|
|
exports.char_js_identity = function(a) { return a; };
|