2024-05-13 15:37:53 +02:00
|
|
|
use crate::repl::tests::{run_test, TestResult};
|
2021-12-25 20:39:42 +01:00
|
|
|
|
|
|
|
#[test]
|
|
|
|
fn from_json_1() -> TestResult {
|
|
|
|
run_test(r#"('{"name": "Fred"}' | from json).name"#, "Fred")
|
|
|
|
}
|
|
|
|
|
|
|
|
#[test]
|
|
|
|
fn from_json_2() -> TestResult {
|
|
|
|
run_test(
|
|
|
|
r#"('{"name": "Fred"}
|
|
|
|
{"name": "Sally"}' | from json -o).name.1"#,
|
|
|
|
"Sally",
|
|
|
|
)
|
|
|
|
}
|
|
|
|
|
|
|
|
#[test]
|
2021-12-27 11:51:38 +01:00
|
|
|
fn to_json_raw_flag_1() -> TestResult {
|
2021-12-25 20:39:42 +01:00
|
|
|
run_test(
|
|
|
|
"[[a b]; [jim susie] [3 4]] | to json -r",
|
2024-03-20 22:14:31 +01:00
|
|
|
r#"[{"a":"jim","b":"susie"},{"a":3,"b":4}]"#,
|
2021-12-27 11:51:38 +01:00
|
|
|
)
|
|
|
|
}
|
|
|
|
|
|
|
|
#[test]
|
|
|
|
fn to_json_raw_flag_2() -> TestResult {
|
|
|
|
run_test(
|
|
|
|
"[[\"a b\" c]; [jim susie] [3 4]] | to json -r",
|
2024-03-20 22:14:31 +01:00
|
|
|
r#"[{"a b":"jim","c":"susie"},{"a b":3,"c":4}]"#,
|
2021-12-27 11:51:38 +01:00
|
|
|
)
|
|
|
|
}
|
|
|
|
|
|
|
|
#[test]
|
|
|
|
fn to_json_raw_flag_3() -> TestResult {
|
|
|
|
run_test(
|
|
|
|
"[[\"a b\" \"c d\"]; [\"jim smith\" \"susie roberts\"] [3 4]] | to json -r",
|
2024-03-20 22:14:31 +01:00
|
|
|
r#"[{"a b":"jim smith","c d":"susie roberts"},{"a b":3,"c d":4}]"#,
|
2021-12-25 20:39:42 +01:00
|
|
|
)
|
|
|
|
}
|
2022-02-15 12:55:57 +01:00
|
|
|
|
|
|
|
#[test]
|
|
|
|
fn to_json_escaped() -> TestResult {
|
|
|
|
run_test(
|
|
|
|
r#"{foo: {bar: '[{"a":"b","c": 2}]'}} | to json --raw"#,
|
2024-03-20 22:14:31 +01:00
|
|
|
r#"{"foo":{"bar":"[{\"a\":\"b\",\"c\": 2}]"}}"#,
|
|
|
|
)
|
|
|
|
}
|
|
|
|
|
|
|
|
#[test]
|
|
|
|
fn to_json_raw_backslash_in_quotes() -> TestResult {
|
|
|
|
run_test(
|
|
|
|
r#"{a: '\', b: 'some text'} | to json -r"#,
|
|
|
|
r#"{"a":"\\","b":"some text"}"#,
|
2022-02-15 12:55:57 +01:00
|
|
|
)
|
|
|
|
}
|