diff options
author | daurnimator <quae@daurnimator.com> | 2018-04-02 22:44:25 +1000 |
---|---|---|
committer | daurnimator <quae@daurnimator.com> | 2018-04-14 16:52:26 +1000 |
commit | ce9fd9bdca0caa6a33ce37a01f41593ca42ba95b (patch) | |
tree | 946b66efd1f265c9ccb143b61d6c480929267673 /tests/defs.js | |
parent | d67a6ab6688d315f521b3a2ebc0e018969213b21 (diff) | |
download | fengari-ce9fd9bdca0caa6a33ce37a01f41593ca42ba95b.tar.gz fengari-ce9fd9bdca0caa6a33ce37a01f41593ca42ba95b.tar.bz2 fengari-ce9fd9bdca0caa6a33ce37a01f41593ca42ba95b.zip |
Start moving test suite from tape => jest
Diffstat (limited to 'tests/defs.js')
-rw-r--r-- | tests/defs.js | 89 |
1 files changed, 0 insertions, 89 deletions
diff --git a/tests/defs.js b/tests/defs.js deleted file mode 100644 index f24dee0..0000000 --- a/tests/defs.js +++ /dev/null @@ -1,89 +0,0 @@ -const test = require('tape'); - -const defs = require('../src/defs.js'); - -const unicode_tests = [ - { - description: "Convert normal ascii string", - literal: "foo", - byte_array: defs.luastring_of("f".charCodeAt(0), "o".charCodeAt(0), "o".charCodeAt(0)) - }, - { - description: "Convert ascii string containing null byte", - literal: "fo\0o", - byte_array: defs.luastring_of("f".charCodeAt(0), "o".charCodeAt(0), 0, "o".charCodeAt(0)) - }, - { - description: "Convert string with BMP unicode chars", - literal: "Café", - byte_array: defs.luastring_of(67, 97, 102, 195, 169) - }, - { - description: "Convert string with codepoint in PUA (U+E000 to U+F8FF)", - literal: "", - byte_array: defs.luastring_of(239, 163, 191) - }, - { - description: "Convert string with surrogate pair", - literal: "❤️🍾", - byte_array: defs.luastring_of(226, 157, 164, 239, 184, 143, 240, 159, 141, 190) - }, - { - description: "Convert string with broken surrogate pair", - literal: "\uD800a", - byte_array: defs.luastring_of(237, 160, 128, 97) - }, - { - description: "Convert string with broken surrogate pair at end of string", - literal: "\uD823", - byte_array: defs.luastring_of(237, 160, 163) - } -]; - -test('to_luastring', function (t) { - t.plan(unicode_tests.length); - - unicode_tests.forEach(function(v) { - t.deepEqual(defs.to_luastring(v.literal), v.byte_array, v.description); - }); -}); - -test('to_jsstring', function (t) { - t.plan(unicode_tests.length); - - unicode_tests.forEach(function(v) { - t.deepEqual(defs.to_jsstring(v.byte_array), v.literal, v.description); - }); -}); - -test('to_jsstring fails on invalid unicode', function (t) { - t.plan(7); - - t.throws(function() { - defs.to_jsstring([165]); - }, "non-utf8 char"); - - t.throws(function() { - defs.to_jsstring([208, 60]); - }, "invalid continuation byte"); - - t.throws(function() { - defs.to_jsstring([225, 60, 145]); - }, "invalid continuation byte"); - - t.throws(function() { - defs.to_jsstring([225, 145, 60]); - }, "invalid continuation byte"); - - t.throws(function() { - defs.to_jsstring([242, 60, 145, 145]); - }, "invalid continuation byte"); - - t.throws(function() { - defs.to_jsstring([242, 145, 60, 145]); - }, "invalid continuation byte"); - - t.throws(function() { - defs.to_jsstring([242, 145, 145, 60]); - }, "invalid continuation byte"); -}); |