From aea4af6bafafd0aa166e41ead5ce90b530e3ac0a Mon Sep 17 00:00:00 2001
From: Benoit Giannangeli <benoit.giannangeli@boursorama.fr>
Date: Fri, 17 Mar 2017 15:08:28 +0100
Subject: string.packsize

---
 tests/lstrlib.js | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

(limited to 'tests')

diff --git a/tests/lstrlib.js b/tests/lstrlib.js
index 23cd786..4185f04 100644
--- a/tests/lstrlib.js
+++ b/tests/lstrlib.js
@@ -459,4 +459,38 @@ test('string.dump', function (t) {
         "hello1212.5",
         "Correct element(s) on the stack"
     );
+});
+
+
+test('string.pack/unpack/packsize', function (t) {
+    let luaCode = `
+        local s1, n, s2 = "hello", 2, "you"
+        local packed = string.pack("zjz", s1, n, s2)
+        local us1, un, us2 = string.unpack("zjz", packed)
+        return s1 == us1 and n == un and s2 == us2
+    `, L;
+    
+    t.plan(3);
+
+    t.doesNotThrow(function () {
+
+        L = lauxlib.luaL_newstate();
+
+        linit.luaL_openlibs(L);
+
+        lauxlib.luaL_loadstring(L, luaCode);
+
+    }, "Lua program loaded without error");
+
+    t.doesNotThrow(function () {
+
+        lapi.lua_call(L, 0, -1);
+
+    }, "Lua program ran without error");
+
+    t.strictEqual(
+        lapi.lua_tostring(L, -1),
+        "FFFFFFF",
+        "Correct element(s) on the stack"
+    );
 });
\ No newline at end of file
-- 
cgit v1.2.3-70-g09d2