diff options
| author | Benoit Giannangeli <benoit.giannangeli@boursorama.fr> | 2017-02-07 08:40:43 +0100 | 
|---|---|---|
| committer | Benoit Giannangeli <benoit.giannangeli@boursorama.fr> | 2017-02-07 11:46:03 +0100 | 
| commit | c7b6e2364b3ff9bed781215f57a6398979b287d4 (patch) | |
| tree | f8f8f131b61769c76a21b8791dccc78236ead80f /tests | |
| parent | ba36e0249a7c3209b9cf64aef69d75bce4c4f726 (diff) | |
| download | fengari-c7b6e2364b3ff9bed781215f57a6398979b287d4.tar.gz fengari-c7b6e2364b3ff9bed781215f57a6398979b287d4.tar.bz2 fengari-c7b6e2364b3ff9bed781215f57a6398979b287d4.zip  | |
GETUPVAL, SETUPVAL
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  | 
