wasm-bindgen/tests/wasm/optional_primitives.js

103 lines
5.3 KiB
JavaScript
Raw Normal View History

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; };