aboutsummaryrefslogtreecommitdiff
path: root/tests/lcorolib.js
diff options
context:
space:
mode:
authordaurnimator <quae@daurnimator.com>2018-04-02 22:44:25 +1000
committerdaurnimator <quae@daurnimator.com>2018-04-14 16:52:26 +1000
commitce9fd9bdca0caa6a33ce37a01f41593ca42ba95b (patch)
tree946b66efd1f265c9ccb143b61d6c480929267673 /tests/lcorolib.js
parentd67a6ab6688d315f521b3a2ebc0e018969213b21 (diff)
downloadfengari-ce9fd9bdca0caa6a33ce37a01f41593ca42ba95b.tar.gz
fengari-ce9fd9bdca0caa6a33ce37a01f41593ca42ba95b.tar.bz2
fengari-ce9fd9bdca0caa6a33ce37a01f41593ca42ba95b.zip
Start moving test suite from tape => jest
Diffstat (limited to 'tests/lcorolib.js')
-rw-r--r--tests/lcorolib.js201
1 files changed, 0 insertions, 201 deletions
diff --git a/tests/lcorolib.js b/tests/lcorolib.js
deleted file mode 100644
index 42f9677..0000000
--- a/tests/lcorolib.js
+++ /dev/null
@@ -1,201 +0,0 @@
-"use strict";
-
-const test = require('tape');
-
-const lua = require('../src/lua.js');
-const lauxlib = require('../src/lauxlib.js');
-const lualib = require('../src/lualib.js');
-const lstate = require('../src/lstate.js');
-const {to_luastring} = require("../src/fengaricore.js");
-
-test('coroutine.create, coroutine.yield, coroutine.resume', function (t) {
- let luaCode = `
- local co = coroutine.create(function (start)
- local b = coroutine.yield(start * start);
- coroutine.yield(b * b)
- end)
-
- local success, pow = coroutine.resume(co, 5)
- success, pow = coroutine.resume(co, pow)
-
- return pow
- `, L;
-
- t.plan(2);
-
- t.doesNotThrow(function () {
-
- L = lauxlib.luaL_newstate();
-
- lualib.luaL_openlibs(L);
-
- lauxlib.luaL_loadstring(L, to_luastring(luaCode));
-
- lua.lua_call(L, 0, -1);
-
- }, "JS Lua program ran without error");
-
- t.strictEqual(
- lua.lua_tonumber(L, -1),
- 625,
- "Correct element(s) on the stack"
- );
-});
-
-
-test('coroutine.status', function (t) {
- let luaCode = `
- local co = coroutine.create(function (start)
- local b = coroutine.yield(start * start);
- coroutine.yield(b * b)
- end)
-
- local s1 = coroutine.status(co)
-
- local success, pow = coroutine.resume(co, 5)
- success, pow = coroutine.resume(co, pow)
-
- coroutine.resume(co, pow)
-
- local s2 = coroutine.status(co)
-
- return s1, s2
- `, L;
-
- t.plan(3);
-
- t.doesNotThrow(function () {
-
- L = lauxlib.luaL_newstate();
-
- lualib.luaL_openlibs(L);
-
- lauxlib.luaL_loadstring(L, to_luastring(luaCode));
-
- lua.lua_call(L, 0, -1);
-
- }, "JS Lua program ran without error");
-
- t.strictEqual(
- lua.lua_tojsstring(L, -2),
- "suspended",
- "Correct element(s) on the stack"
- );
-
- t.strictEqual(
- lua.lua_tojsstring(L, -1),
- "dead",
- "Correct element(s) on the stack"
- );
-});
-
-
-test('coroutine.isyieldable', function (t) {
- let luaCode = `
- local co = coroutine.create(function ()
- coroutine.yield(coroutine.isyieldable());
- end)
-
- local succes, yieldable = coroutine.resume(co)
-
- return yieldable, coroutine.isyieldable()
- `, L;
-
- t.plan(3);
-
- t.doesNotThrow(function () {
-
- L = lauxlib.luaL_newstate();
-
- lualib.luaL_openlibs(L);
-
- lauxlib.luaL_loadstring(L, to_luastring(luaCode));
-
- lua.lua_call(L, 0, -1);
-
- }, "JS Lua program ran without error");
-
- t.ok(
- lua.lua_toboolean(L, -2),
- "Correct element(s) on the stack"
- );
-
- t.notOk(
- lua.lua_toboolean(L, -1),
- "Correct element(s) on the stack"
- );
-});
-
-
-test('coroutine.running', function (t) {
- let luaCode = `
- local running, ismain
-
- local co = coroutine.create(function ()
- running, ismain = coroutine.running()
- end)
-
- coroutine.resume(co)
-
- return running, ismain
- `, L;
-
- t.plan(3);
-
- t.doesNotThrow(function () {
-
- L = lauxlib.luaL_newstate();
-
- lualib.luaL_openlibs(L);
-
- lauxlib.luaL_loadstring(L, to_luastring(luaCode));
-
- lua.lua_call(L, 0, -1);
-
- }, "JS Lua program ran without error");
-
- t.ok(
- lua.lua_tothread(L, -2) instanceof lstate.lua_State,
- "Correct element(s) on the stack"
- );
-
- t.notOk(
- lua.lua_toboolean(L, -1),
- "Correct element(s) on the stack"
- );
-});
-
-
-test('coroutine.wrap', function (t) {
- let luaCode = `
- local co = coroutine.wrap(function (start)
- local b = coroutine.yield(start * start);
- coroutine.yield(b * b)
- end)
-
- pow = co(5)
- pow = co(pow)
-
- return pow
- `, L;
-
- t.plan(2);
-
- t.doesNotThrow(function () {
-
- L = lauxlib.luaL_newstate();
-
- lualib.luaL_openlibs(L);
-
- lauxlib.luaL_loadstring(L, to_luastring(luaCode));
-
- lua.lua_call(L, 0, -1);
-
- }, "JS Lua program ran without error");
-
- t.strictEqual(
- lua.lua_tonumber(L, -1),
- 625,
- "Correct element(s) on the stack"
- );
-});