diff options
Diffstat (limited to 'tests/std')
| -rw-r--r-- | tests/std/test_env.zc | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/tests/std/test_env.zc b/tests/std/test_env.zc new file mode 100644 index 0000000..94a7ee0 --- /dev/null +++ b/tests/std/test_env.zc @@ -0,0 +1,68 @@ +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_overwrite" { + var res = Env::set("TEST2", "ok2"); + assert(res == EnvRes::OK(), "res should be EnvRes::OK()"); + + var res2 = Env::set("TEST2", "ok2-no-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", "env_var should be ok2"); + + var res3 = Env::set_overwrite("TEST2", "ok2-with-ovwr"); + assert(res3 == EnvRes::OK(), "res3 should be EnvRes::OK()"); + + var env_var2 = Env::get("TEST2"); + assert(env_var2.is_some(), "env_var2 should have a value"); + assert(env_var2.unwrap() == "ok2-with-ovwr", "env_var2 should be ok2-with-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"); +} |
