57 lines
1.2 KiB
Rust
57 lines
1.2 KiB
Rust
mod common;
|
|
use std::env;
|
|
|
|
use common::tempdir_with_dotenv;
|
|
use dotenvy::dotenv;
|
|
|
|
#[test]
|
|
fn test_issue_12() {
|
|
let _f = tempdir_with_dotenv(
|
|
r#"
|
|
# Start of .env file
|
|
# Comment line with single ' quote
|
|
# Comment line with double " quote
|
|
# Comment line with double " quote and starts with a space
|
|
TESTKEY1=test_val # 1 '" comment
|
|
TESTKEY2=test_val_with_#_hash # 2 '" comment
|
|
TESTKEY3="test_val quoted with # hash" # 3 '" comment
|
|
TESTKEY4="Line 1
|
|
# Line 2
|
|
Line 3" # 4 Multiline "' comment
|
|
TESTKEY5="Line 4
|
|
# Line 5
|
|
Line 6
|
|
" # 5 Multiline "' comment
|
|
# End of .env file
|
|
"#,
|
|
)
|
|
.expect("should write test env");
|
|
|
|
dotenv().expect("should succeed");
|
|
assert_eq!(
|
|
env::var("TESTKEY1").expect("testkey1 env key not set"),
|
|
"test_val"
|
|
);
|
|
assert_eq!(
|
|
env::var("TESTKEY2").expect("testkey2 env key not set"),
|
|
"test_val_with_#_hash"
|
|
);
|
|
assert_eq!(
|
|
env::var("TESTKEY3").expect("testkey3 env key not set"),
|
|
"test_val quoted with # hash"
|
|
);
|
|
assert_eq!(
|
|
env::var("TESTKEY4").expect("testkey4 env key not set"),
|
|
r#"Line 1
|
|
# Line 2
|
|
Line 3"#
|
|
);
|
|
assert_eq!(
|
|
env::var("TESTKEY5").expect("testkey5 env key not set"),
|
|
r#"Line 4
|
|
# Line 5
|
|
Line 6
|
|
"#
|
|
);
|
|
}
|