summaryrefslogtreecommitdiff
path: root/tests/std/test_env.zc
diff options
context:
space:
mode:
Diffstat (limited to 'tests/std/test_env.zc')
-rw-r--r--tests/std/test_env.zc61
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");
+}