diff options
| author | Zuhaitz <zuhaitz.zechhub@gmail.com> | 2026-01-22 23:30:21 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-01-22 23:30:21 +0000 |
| commit | 3a4a72a38675893c3a1854d05c72b957a6bd9364 (patch) | |
| tree | 91c79a71830c72f8cedfa2b051e4bab4037dc5a4 /tests/std/test_env.zc | |
| parent | 03df9c337355dc45a14e2c2fbe3276dfe890c68d (diff) | |
| parent | 2a4edc7f2c9241ec7845cecadef850a1db45b3dd (diff) | |
Merge pull request #97 from Burnett01/feat/std-env-for-environment-variables
feat: New std library "env" for accessing the process environment
Diffstat (limited to 'tests/std/test_env.zc')
| -rw-r--r-- | tests/std/test_env.zc | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/tests/std/test_env.zc b/tests/std/test_env.zc new file mode 100644 index 0000000..75bba3b --- /dev/null +++ b/tests/std/test_env.zc @@ -0,0 +1,61 @@ +import "std.zc" +import "std/env.zc" + +test "test_std_env_set_and_get" { + var res = Env::set("TEST1", "ok1"); + assert(res == EnvRes::OK(), "result should be EnvRes::OK()"); + + var env_var = Env::get("TEST1"); + assert(env_var.is_some(), "env_var should have a value"); + assert(env_var.unwrap() == "ok1", "env_var should be ok1"); +} + +test "test_std_env_set_with_overwrite" { + var res = Env::set("TEST2", "ok2"); + assert(res == EnvRes::OK(), "res should be EnvRes::OK()"); + + var res2 = Env::set("TEST2", "ok2-ovwr"); + assert(res2 == EnvRes::OK(), "res2 should be EnvRes::OK()"); + + var env_var = Env::get("TEST2"); + assert(env_var.is_some(), "env_var should have a value"); + assert(env_var.unwrap() == "ok2-ovwr", "env_var should be ok2-ovwr"); +} + +test "test_std_env_get_dup" { + var res = Env::set("TEST3", "ok3"); + assert(res == EnvRes::OK(), "result should be EnvRes::OK()"); + + var env_var = Env::get_dup("TEST3"); + assert(env_var.is_some(), "env_var should have a value"); + + var value = env_var.unwrap(); + assert(value.c_str() == "ok3", "value should be ok3"); + + value.free(); + + assert(value.is_empty(), "value should be empty"); +} + +test "test_std_env_get_and_get_dup_with_invalid" { + var env_var = Env::get("TEST4"); + assert(env_var.is_none(), "env_var should not have a value"); + + var env_var2 = Env::get_dup("TEST4"); + assert(env_var2.is_none(), "env_var2 should not have a value"); +} + +test "test_std_env_unset" { + var res = Env::set("TEST5", "ok5"); + assert(res == EnvRes::OK(), "res should be EnvRes::OK()"); + + var env_var = Env::get("TEST5"); + assert(env_var.is_some(), "env_var should have a value"); + assert(env_var.unwrap() == "ok5", "env_var should be ok5"); + + var res2 = Env::unset("TEST5"); + assert(res2 == EnvRes::OK(), "res2 should be EnvRes::OK()"); + + var env_var2 = Env::get("TEST5"); + assert(env_var2.is_none(), "env_var2 should not have a value"); +} |
