mirror of
https://github.com/darwincereska/envkit.git
synced 2026-06-11 10:23:23 -05:00
feat: updated bool parsing and added tests
This commit is contained in:
@@ -3,11 +3,13 @@ mod test_errors {
|
||||
use envkit::error::EnvError;
|
||||
|
||||
#[test]
|
||||
/// Tests for the `missing` function.
|
||||
fn test_missing_var() {
|
||||
assert_eq!(EnvError::missing("missing test"), EnvError::MissingVar("missing test".to_string()));
|
||||
}
|
||||
|
||||
#[test]
|
||||
/// Tests for the `invalid` function.
|
||||
fn test_invalid() {
|
||||
assert_eq!(EnvError::invalid("key", "value", "message"), EnvError::Invalid {
|
||||
key: "key".to_string(),
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
#[cfg(test)]
|
||||
mod test_main {
|
||||
use envkit::*;
|
||||
|
||||
#[test]
|
||||
/// Tests that `get` successfully retrieves an existing environment variable.
|
||||
fn test_get() {
|
||||
let env = EnvLoader;
|
||||
|
||||
unsafe {
|
||||
std::env::set_var("TEST_VAR", "test_value");
|
||||
}
|
||||
|
||||
assert_eq!(env.get::<String>("TEST_VAR"), Ok("test_value".to_string()));
|
||||
}
|
||||
|
||||
#[test]
|
||||
/// Tests that `get_or` returns the default value when the environment variable is missing.
|
||||
fn test_get_or() {
|
||||
let env = EnvLoader;
|
||||
|
||||
unsafe {
|
||||
std::env::remove_var("MISSING_VAR");
|
||||
std::env::set_var("TEST_VAR", "test_value");
|
||||
}
|
||||
|
||||
assert_eq!(env.get_or::<String>("MISSING_VAR", "default".to_string()), "default".to_string());
|
||||
assert_eq!(env.get_or::<String>("TEST_VAR", "default".to_string()), "test_value".to_string());
|
||||
}
|
||||
|
||||
#[test]
|
||||
/// Tests that `get_opt` returns `Some` when the environment variable exists.
|
||||
fn test_get_opt() {
|
||||
let env = EnvLoader;
|
||||
|
||||
unsafe {
|
||||
std::env::set_var("OPTIONAL_VAR", "optional_value");
|
||||
}
|
||||
|
||||
assert_eq!(env.get_opt::<String>("OPTIONAL_VAR"), Some("optional_value".to_string()));
|
||||
assert_eq!(env.get_opt::<bool>("DEV"), None);
|
||||
}
|
||||
}
|
||||
@@ -4,6 +4,7 @@ mod test_parser {
|
||||
use envkit::parser::parse_number;
|
||||
|
||||
#[test]
|
||||
/// Tests for the `parse_bool` function.
|
||||
fn test_parse_bool() {
|
||||
assert_eq!(parse_bool("true"), Ok(true));
|
||||
assert_eq!(parse_bool("false"), Ok(false));
|
||||
@@ -11,9 +12,12 @@ mod test_parser {
|
||||
assert_eq!(parse_bool("0"), Ok(false));
|
||||
assert_eq!(parse_bool("t"), Ok(true));
|
||||
assert_eq!(parse_bool("f"), Ok(false));
|
||||
assert_eq!(parse_bool("yes"), Ok(true));
|
||||
assert_eq!(parse_bool("no"), Ok(false));
|
||||
}
|
||||
|
||||
#[test]
|
||||
/// Tests for the `parse_number` function.
|
||||
fn test_parse_number() {
|
||||
assert_eq!(parse_number::<i8>("42"), Ok(42_i8));
|
||||
assert_eq!(parse_number::<i16>("42"), Ok(42_i16));
|
||||
|
||||
Reference in New Issue
Block a user