76 lines
1.8 KiB
Rust
76 lines
1.8 KiB
Rust
#[cfg(feature = "indexmap")]
|
|
use ron::{de::from_str, Value};
|
|
|
|
#[test]
|
|
#[cfg(feature = "indexmap")]
|
|
fn test_order_preserved() {
|
|
let file = r#"(
|
|
tasks: {
|
|
"debug message": Dbg(
|
|
msg: "test message. some text after it."
|
|
),
|
|
"shell command": Shell(
|
|
command: "ls",
|
|
args: Some([
|
|
"-l",
|
|
"-h",
|
|
]),
|
|
ch_dir: Some("/"),
|
|
),
|
|
},
|
|
)
|
|
"#;
|
|
|
|
let value: Value = from_str(file).unwrap();
|
|
match value {
|
|
Value::Map(map) => match &map[&Value::String("tasks".to_owned())] {
|
|
Value::Map(map) => {
|
|
assert_eq!(
|
|
*map.keys().next().unwrap(),
|
|
Value::String("debug message".to_string())
|
|
);
|
|
assert_eq!(
|
|
*map.keys().nth(1).unwrap(),
|
|
Value::String("shell command".to_string())
|
|
);
|
|
}
|
|
_ => panic!(), // GRCOV_EXCL_LINE
|
|
},
|
|
_ => panic!(), // GRCOV_EXCL_LINE
|
|
}
|
|
|
|
let file = r#"(
|
|
tasks: {
|
|
"shell command": Shell(
|
|
command: "ls",
|
|
args: Some([
|
|
"-l",
|
|
"-h",
|
|
]),
|
|
ch_dir: Some("/")
|
|
),
|
|
"debug message": Dbg(
|
|
msg: "test message. some text after it."
|
|
),
|
|
}
|
|
)
|
|
"#;
|
|
|
|
let value: Value = from_str(file).unwrap();
|
|
match value {
|
|
Value::Map(map) => match &map[&Value::String("tasks".to_owned())] {
|
|
Value::Map(map) => {
|
|
assert_eq!(
|
|
*map.keys().next().unwrap(),
|
|
Value::String("shell command".to_string())
|
|
);
|
|
assert_eq!(
|
|
*map.keys().nth(1).unwrap(),
|
|
Value::String("debug message".to_string())
|
|
);
|
|
}
|
|
_ => panic!(), // GRCOV_EXCL_LINE
|
|
},
|
|
_ => panic!(), // GRCOV_EXCL_LINE
|
|
}
|
|
}
|