diff options
| author | Benoit Giannangeli <benoit.giannangeli@boursorama.fr> | 2017-02-24 08:31:29 +0100 | 
|---|---|---|
| committer | Benoit Giannangeli <benoit.giannangeli@boursorama.fr> | 2017-02-24 08:31:29 +0100 | 
| commit | f52c86ef0450dd03ef9f2cd01143d6ed9ac759d1 (patch) | |
| tree | 4ce0bd7cd6280b55a151ca4372e3665cc308ca7a /tests | |
| parent | bd3ffd7282de8236cd4eb2ff2e21bbc10791bfeb (diff) | |
| download | fengari-f52c86ef0450dd03ef9f2cd01143d6ed9ac759d1.tar.gz fengari-f52c86ef0450dd03ef9f2cd01143d6ed9ac759d1.tar.bz2 fengari-f52c86ef0450dd03ef9f2cd01143d6ed9ac759d1.zip | |
table.unpack
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/ltablib.js | 41 | 
1 files changed, 41 insertions, 0 deletions
| diff --git a/tests/ltablib.js b/tests/ltablib.js index 28b9ce0..8221fe0 100644 --- a/tests/ltablib.js +++ b/tests/ltablib.js @@ -75,4 +75,45 @@ test('table.pack', function (t) {          [1, 2, 3],          "Correct element(s) on the stack"      ); +}); + + +test('table.unpack', function (t) { +    let luaCode = ` +        return table.unpack({1, 2, 3, 4, 5}, 2, 4) +    `, L; +     +    t.plan(4); + +    t.doesNotThrow(function () { + +        let bc = toByteCode(luaCode).dataView; + +        L = lauxlib.luaL_newstate(); + +        linit.luaL_openlibs(L); + +        lapi.lua_load(L, bc, "test-table.unpack"); + +        lapi.lua_call(L, 0, -1); + +    }, "JS Lua program ran without error"); + +    t.strictEqual( +        lapi.lua_tointeger(L, -3), +        2, +        "Correct element(s) on the stack" +    ); + +    t.strictEqual( +        lapi.lua_tointeger(L, -2), +        3, +        "Correct element(s) on the stack" +    ); + +    t.strictEqual( +        lapi.lua_tointeger(L, -1), +        4, +        "Correct element(s) on the stack" +    );  });
\ No newline at end of file | 
