lune/tests/luau/options.luau

38 lines
1.2 KiB
Text

local luau = require("@lune/luau")
local EMPTY_LUAU_CODE_BLOCK = "do end"
local MIN_OPTION_VALUE = 0
local MAX_OPTION_VALUE = 2
local OPTION_NAMES = {
"optimizationLevel",
"coverageLevel",
"debugLevel",
}
for _, optionName in OPTION_NAMES do
-- In range should work
for optionValue = MIN_OPTION_VALUE, MAX_OPTION_VALUE, 1 do
local options = { [optionName] = optionValue }
local success2 = pcall(function()
luau.compile(EMPTY_LUAU_CODE_BLOCK, options)
end)
assert(success2, "expected `luau.compile` to accept options within range")
end
-- Lower than min range should error
for optionValue = MIN_OPTION_VALUE - 16, MIN_OPTION_VALUE - 1, 1 do
local options = { [optionName] = optionValue }
local success2 = pcall(function()
luau.compile(EMPTY_LUAU_CODE_BLOCK, options)
end)
assert(not success2, "expected `luau.compile` to not accept options outside of range")
end
-- Higher than max range should error
for optionValue = MAX_OPTION_VALUE + 1, MAX_OPTION_VALUE + 16, 1 do
local options = { [optionName] = optionValue }
local success2 = pcall(function()
luau.compile(EMPTY_LUAU_CODE_BLOCK, options)
end)
assert(not success2, "expected `luau.compile` to not accept options outside of range")
end
end