From 24e48671e224bcc8043f84bca4979a22249b8af3 Mon Sep 17 00:00:00 2001 From: AsynchronousMatrix Date: Wed, 9 Aug 2023 21:40:38 +0100 Subject: [PATCH] feature: implement 'luau' test files --- tests/luau/compile.luau | 8 ++++++++ tests/luau/load.luau | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 tests/luau/compile.luau create mode 100644 tests/luau/load.luau diff --git a/tests/luau/compile.luau b/tests/luau/compile.luau new file mode 100644 index 0000000..e257d66 --- /dev/null +++ b/tests/luau/compile.luau @@ -0,0 +1,8 @@ +local luau = require("@lune/luau") + +assert(type(luau.compile) == "function", "expected `luau.compile` to be a function") + +assert( + type(luau.compile("do end")) == "string", + "expected `luau.compile` to return bytecode string" +) diff --git a/tests/luau/load.luau b/tests/luau/load.luau new file mode 100644 index 0000000..323e042 --- /dev/null +++ b/tests/luau/load.luau @@ -0,0 +1,35 @@ +local luau = require("@lune/luau") + +local RETURN_VALUE = 1 + +local EMPTY_LUAU_CODE_BLOCK = "do end" +local RETURN_LUAU_CODE_BLOCK = "return " .. tostring(RETURN_VALUE) + +local CUSTOM_SOURCE_BLOCK_NAME = "test" + +assert(type(luau.load) == "function", "expected `luau.compile` to be a function") + +assert( + type(luau.load(EMPTY_LUAU_CODE_BLOCK)) == "function", + "expected 'luau.load' to return a function" +) +assert( + luau.load(RETURN_LUAU_CODE_BLOCK)() == RETURN_VALUE, + "expected 'luau.load' to return a value" +) + +local sourceFunction = luau.load(EMPTY_LUAU_CODE_BLOCK) +local sourceFunctionDebugName = debug.info(sourceFunction, "s") + +assert( + string.find(sourceFunctionDebugName, EMPTY_LUAU_CODE_BLOCK), + "expected source block name for 'luau.load' to return the default debug name" +) + +sourceFunction = luau.load(EMPTY_LUAU_CODE_BLOCK, { debugName = CUSTOM_SOURCE_BLOCK_NAME }) +sourceFunctionDebugName = debug.info(sourceFunction, "s") + +assert( + string.find(sourceFunctionDebugName, CUSTOM_SOURCE_BLOCK_NAME), + "expected source block name for 'luau.load' to return a custom debug name" +)