Source code

Revision control

Copy as Markdown

Other Tools

#[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
}
}