diff options
author | Benoit Giannangeli <benoit.giannangeli@boursorama.fr> | 2017-03-02 15:47:19 +0100 |
---|---|---|
committer | Benoit Giannangeli <giann008@gmail.com> | 2017-03-02 20:45:06 +0100 |
commit | 319c40c4439a9eda7bd4a68769057cb12b04755a (patch) | |
tree | 76541920c3594e9a2e2f4c3a973f1815f9358ee1 /tests/llex.js | |
parent | 2e83b8d2e3ac6c30a53e7919a1808b732aeff5a4 (diff) | |
download | fengari-319c40c4439a9eda7bd4a68769057cb12b04755a.tar.gz fengari-319c40c4439a9eda7bd4a68769057cb12b04755a.tar.bz2 fengari-319c40c4439a9eda7bd4a68769057cb12b04755a.zip |
lua_load use reader function
Diffstat (limited to 'tests/llex.js')
-rw-r--r-- | tests/llex.js | 97 |
1 files changed, 0 insertions, 97 deletions
diff --git a/tests/llex.js b/tests/llex.js deleted file mode 100644 index 8b69acc..0000000 --- a/tests/llex.js +++ /dev/null @@ -1,97 +0,0 @@ -"use strict"; - -const test = require('tape'); -const beautify = require('js-beautify').js_beautify; - -const tests = require("./tests.js"); - -const lapi = require("../src/lapi.js"); -const lauxlib = require("../src/lauxlib.js"); -const llex = require("../src/llex.js"); -const lua = require('../src/lua.js'); -const R = llex.RESERVED; - - -test('basic lexing: TK_RETURN, TK_STRING', function (t) { - let luaCode = ` - return "hello lex !" - `, L; - - t.plan(2); - - let readTokens = []; - - t.doesNotThrow(function () { - - L = lauxlib.luaL_newstate(); - - let ls = new llex.LexState(); - llex.luaX_setinput(L, ls, new llex.MBuffer(luaCode), luaCode, luaCode.charAt(0)); - - llex.luaX_next(ls); - - while (ls.t.token !== R.TK_EOS) { - // console.log(llex.luaX_tokens[ls.t.token - llex.FIRST_RESERVED]); - - readTokens.push(ls.t.token); - llex.luaX_next(ls); - } - - - }, "JS Lua program ran without error"); - - t.deepEqual( - readTokens, - [R.TK_RETURN, R.TK_STRING], - "Correct tokens found" - ); - -}); - - -test('TK_LOCAL, TK_NAME, TK_INT', function (t) { - let luaCode = ` - local f = testing(aBunch) - return "of" - end - - return f("things") + 12 - `, L; - - t.plan(2); - - let readTokens = []; - - t.doesNotThrow(function () { - - L = lauxlib.luaL_newstate(); - - let ls = new llex.LexState(); - llex.luaX_setinput(L, ls, new llex.MBuffer(luaCode), luaCode, luaCode.charAt(0)); - - llex.luaX_next(ls); - - while (ls.t.token !== R.TK_EOS) { - // console.log(ls.t.token >= llex.FIRST_RESERVED ? - // llex.luaX_tokens[ls.t.token - llex.FIRST_RESERVED] - // : ls.t.token); - - readTokens.push(ls.t.token); - llex.luaX_next(ls); - } - - - }, "JS Lua program ran without error"); - - t.deepEqual( - readTokens, - [ - R.TK_LOCAL, R.TK_NAME, '=', R.TK_NAME, '(', R.TK_NAME, ')', - R.TK_RETURN, R.TK_STRING, - R.TK_END, - R.TK_RETURN, R.TK_NAME, '(', R.TK_STRING, ')', '+', R.TK_INT - ], - "Correct tokens found" - ); - -});
\ No newline at end of file |