diff --git a/.env b/.env new file mode 100644 index 0000000..a1fe8a9 --- /dev/null +++ b/.env @@ -0,0 +1,6 @@ +# Used for testing +SIMPLE=ABC +DOUBLE="DEF" +SINGLE="GHI" + +OVERWRITE="BAR" diff --git a/.lune/test.luau b/.lune/test.luau index 2afe958..087865b 100644 --- a/.lune/test.luau +++ b/.lune/test.luau @@ -294,7 +294,7 @@ end local function printErr(err: string, traceback: string) stdio.ewrite(stdio.color("red")) stdio.ewrite(stdio.style("bold")) - stdio.ewrite(err .. "\n\n") + stdio.ewrite(tostring(err) .. "\n\n") stdio.ewrite(stdio.style("reset")) stdio.ewrite(stdio.style("dim")) stdio.ewrite("[Stack Begin]\n") diff --git a/.vscode/settings.json b/.vscode/settings.json index b0d5cb7..3ebf417 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -2,6 +2,6 @@ "luau-lsp.require.mode": "relativeToFile", "luau-lsp.require.directoryAliases": { "@lune/": "~/.lune/.typedefs/0.8.4/", - "@testing/": "submodules/util.luau/.lune/test-lib/" + "@testing/": ".lune/test-lib/" } } diff --git a/tests/envs/path.env b/tests/envs/path.env new file mode 100644 index 0000000..4f7c7db --- /dev/null +++ b/tests/envs/path.env @@ -0,0 +1 @@ +CUSTOM_PATH="THIS IS A CUSTOM PATH" diff --git a/tests/load.test.luau b/tests/load.test.luau new file mode 100644 index 0000000..da68204 --- /dev/null +++ b/tests/load.test.luau @@ -0,0 +1,32 @@ +local describe = require("@testing/describe") +local test = require("@testing/test") +local assertEq = require("@testing/assertEq") +local process = require("@lune/process") + +local dotenv = require("../lib") + +describe("Populate process.env", function() + test("Normal", function() + dotenv:load() + assertEq(process.env.SIMPLE, "ABC") + assertEq(process.env.DOUBLE, "DEF") + assertEq(process.env.SINGLE, "GHI") + end) + + test("Overwrite TRUE", function() + process.env.OVERWRITE = "FOO" + dotenv:load(true) + assertEq(process.env.OVERWRITE, "BAR") + end) + + test("Overwrite FALSE", function() + process.env.OVERWRITE = "FOO" + dotenv:load(false) + assertEq(process.env.OVERWRITE, "FOO") + end) + + test("Custom Path", function() + dotenv:load(false, "tests/envs/path.env") + assertEq(process.env.CUSTOM_PATH, "THIS IS A CUSTOM PATH") + end) +end)