diff options
author | Ryan Leckey <leckey.ryan@gmail.com> | 2018-03-12 11:10:01 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-03-12 11:10:01 -0700 |
commit | e8fa9fee96185ddd18ebcef8a925c75459111edb (patch) | |
tree | 02c7f66517f697d749653727611a74149dc49a32 /tests | |
parent | 1e16a3bfb7adab7f5e642759e94fb17cba1ea0bd (diff) | |
parent | 2fe18bbe8716402f6c56101ccbd55f5f1879d884 (diff) |
Merge pull request #59 from ChriFo/fix/env
Adjust environment variable handling
Diffstat (limited to 'tests')
-rw-r--r-- | tests/env.rs | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/tests/env.rs b/tests/env.rs new file mode 100644 index 0000000..b204118 --- /dev/null +++ b/tests/env.rs @@ -0,0 +1,63 @@ +extern crate config; + +use config::*; +use std::env; + +#[test] +fn test_default() { + env::set_var("A_B_C", "abc"); + + let environment = Environment::new(); + + assert!(environment.collect().unwrap().contains_key("a_b_c")); + + env::remove_var("A_B_C"); +} + +#[test] +fn test_prefix_is_removed_from_key() { + env::set_var("B_A_C", "abc"); + + let environment = Environment::with_prefix("B"); + + assert!(environment.collect().unwrap().contains_key("a_c")); + + env::remove_var("B_A_C"); +} + +#[test] +fn test_prefix_with_variant_forms_of_spelling() { + env::set_var("a_A_C", "abc"); + + let environment = Environment::with_prefix("a"); + + assert!(environment.collect().unwrap().contains_key("a_c")); + + env::remove_var("a_A_C"); + env::set_var("aB_A_C", "abc"); + + let environment = Environment::with_prefix("aB"); + + assert!(environment.collect().unwrap().contains_key("a_c")); + + env::remove_var("aB_A_C"); + env::set_var("Ab_A_C", "abc"); + + let environment = Environment::with_prefix("ab"); + + assert!(environment.collect().unwrap().contains_key("a_c")); + + env::remove_var("Ab_A_C"); +} + +#[test] +fn test_separator_behavior() { + env::set_var("C_B_A", "abc"); + + let mut environment = Environment::with_prefix("C"); + environment.separator("_"); + + assert!(environment.collect().unwrap().contains_key("b.a")); + + env::remove_var("C_B_A"); +} |