From ce9fd9bdca0caa6a33ce37a01f41593ca42ba95b Mon Sep 17 00:00:00 2001 From: daurnimator Date: Mon, 2 Apr 2018 22:44:25 +1000 Subject: Start moving test suite from tape => jest --- tests/defs.js | 89 ----------------------------------------------------------- 1 file changed, 89 deletions(-) delete mode 100644 tests/defs.js (limited to 'tests/defs.js') 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"); -}); -- cgit v1.2.3-54-g00ecf