diff options
author | daurnimator <quae@daurnimator.com> | 2018-04-20 21:16:24 +1000 |
---|---|---|
committer | daurnimator <quae@daurnimator.com> | 2018-04-20 21:16:24 +1000 |
commit | a260f381d30e036b39078fee0295e539067c10a3 (patch) | |
tree | 4f3b2ecb264ec8dd29cac74d23223d15d297eb8e /tests/defs.js | |
parent | fe9b43374c2e8dc28df0ce460aefaf50b933aaa7 (diff) | |
parent | 9f5d4d35de0b88334bba7c11a9e960a19ee0740b (diff) | |
download | fengari-a260f381d30e036b39078fee0295e539067c10a3.tar.gz fengari-a260f381d30e036b39078fee0295e539067c10a3.tar.bz2 fengari-a260f381d30e036b39078fee0295e539067c10a3.zip |
Merge branch 'test-with-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"); -}); |