Implemented issue: #47

This commit is contained in:
UnlegitDqrk
2026-03-02 15:36:05 +01:00
parent 06c74072be
commit 33d745d667
11 changed files with 435 additions and 0 deletions

View File

@@ -88,6 +88,7 @@ public class JsePlatform {
Globals globals = new Globals();
globals.load(new JseBaseLib());
globals.load(new PackageLib());
globals.load(new CjsonLib());
globals.load(new Bit32Lib());
globals.load(new TableLib());
globals.load(new JseStringLib());

View File

@@ -390,6 +390,25 @@ public class FragmentsTest extends TestSuite {
}
}
public void testCjsonRequireEncodeDecode() {
try {
Globals globals = JsePlatform.standardGlobals();
Varargs result = globals.load(
"local cjson = require('cjson')\n" +
"local json = cjson.encode({name='lua', values={1, true, cjson.null}})\n" +
"local decoded = cjson.decode(json)\n" +
"return decoded.name, decoded.values[1], decoded.values[2], decoded.values[3] == cjson.null\n",
"cjson.lua").invoke();
assertEquals(LuaValue.valueOf("lua"), result.arg1());
assertEquals(LuaValue.valueOf(1), result.arg(2));
assertEquals(LuaValue.TRUE, result.arg(3));
assertEquals(LuaValue.TRUE, result.arg(4));
} catch (Exception e) {
e.printStackTrace();
fail(e.toString());
}
}
public void testTableMove() {
runFragment(
LuaValue.varargsOf(new LuaValue[] {