Function simple_env_load::parse_and_set [−][src]
Expand description
Parse an env string and calls a function for each key=value pair
This is useful for mocking and testing
let data = r#"
TEST_DATA=bar # spaces are optional
TEST_BAZ = "baz" # double quotes are removed
TEST_QUX = 'qux' # single quotes are removed
TEST_FOO = "'nested'" # nested quotes are preserved
TEST_BAR = '"nested"' # nested quotes are preserved
"#;
// just set the env. vars, but this can be any fn(&str, &str)
simple_env_load::parse_and_set(&data, |k, v| std::env::set_var(k, v));
assert_eq!(std::env::var("TEST_DATA").unwrap(), "bar");
assert_eq!(std::env::var("TEST_BAZ").unwrap(), "baz");
assert_eq!(std::env::var("TEST_QUX").unwrap(), "qux");;
assert_eq!(std::env::var("TEST_FOO").unwrap(), "'nested'");
assert_eq!(std::env::var("TEST_BAR").unwrap(), "\"nested\"");