diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/lvm.js | 31 | 
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/lvm.js b/tests/lvm.js index e10ddb2..084a9ad 100644 --- a/tests/lvm.js +++ b/tests/lvm.js @@ -270,4 +270,35 @@ test('VARARG', function (t) {          [1, 2, 3],          "Program output is correct"      ); +}); + + +test('GETUPVAL, SETUPVAL', function (t) { +    let luaCode = ` +        local a = 1 + +        local f = function () +            a = a + 1 +            return a +        end + +        f() + +        return a +    `, vm; +     +    t.plan(2); + +    t.comment("Running following code: \n" + luaCode); + +    t.doesNotThrow(function () { +        vm = getVM(luaCode); +        vm.execute(); +    }, "Program executed without errors"); + +    t.strictEqual( +        vm.L.stack[vm.L.top - 1].value, +        2, +        "Program output is correct" +    );  });
\ No newline at end of file  | 
