2019-12-17 19:54:39 +01:00
|
|
|
use nu_test_support::{nu, pipeline};
|
2019-12-15 17:15:06 +01:00
|
|
|
|
|
|
|
#[test]
|
2022-12-24 22:12:09 +01:00
|
|
|
fn record_map_to_toml() {
|
2023-07-17 18:43:51 +02:00
|
|
|
let actual = nu!(pipeline(
|
2022-12-24 22:12:09 +01:00
|
|
|
r#"
|
|
|
|
{a: 1 b: 2 c: 'qwe'}
|
|
|
|
| to toml
|
|
|
|
| from toml
|
|
|
|
| $in == {a: 1 b: 2 c: 'qwe'}
|
|
|
|
"#
|
|
|
|
));
|
|
|
|
|
|
|
|
assert_eq!(actual.out, "true");
|
|
|
|
}
|
|
|
|
|
|
|
|
#[test]
|
|
|
|
fn nested_records_to_toml() {
|
2023-07-17 18:43:51 +02:00
|
|
|
let actual = nu!(pipeline(
|
2022-12-24 22:12:09 +01:00
|
|
|
r#"
|
|
|
|
{a: {a: a b: b} c: 1}
|
|
|
|
| to toml
|
|
|
|
| from toml
|
|
|
|
| $in == {a: {a: a b: b} c: 1}
|
|
|
|
"#
|
|
|
|
));
|
|
|
|
|
|
|
|
assert_eq!(actual.out, "true");
|
|
|
|
}
|
|
|
|
|
|
|
|
#[test]
|
|
|
|
fn records_with_tables_to_toml() {
|
2023-07-17 18:43:51 +02:00
|
|
|
let actual = nu!(pipeline(
|
2022-12-24 22:12:09 +01:00
|
|
|
r#"
|
|
|
|
{a: [[a b]; [1 2] [3 4]] b: [[c d e]; [1 2 3]]}
|
|
|
|
| to toml
|
|
|
|
| from toml
|
|
|
|
| $in == {a: [[a b]; [1 2] [3 4]] b: [[c d e]; [1 2 3]]}
|
|
|
|
"#
|
|
|
|
));
|
|
|
|
|
|
|
|
assert_eq!(actual.out, "true");
|
|
|
|
}
|
|
|
|
|
|
|
|
#[test]
|
|
|
|
fn nested_tables_to_toml() {
|
2023-07-17 18:43:51 +02:00
|
|
|
let actual = nu!(pipeline(
|
2022-12-24 22:12:09 +01:00
|
|
|
r#"
|
|
|
|
{c: [[f g]; [[[h k]; [1 2] [3 4]] 1]]}
|
|
|
|
| to toml
|
|
|
|
| from toml
|
|
|
|
| $in == {c: [[f g]; [[[h k]; [1 2] [3 4]] 1]]}
|
|
|
|
"#
|
|
|
|
));
|
|
|
|
|
|
|
|
assert_eq!(actual.out, "true");
|
|
|
|
}
|
|
|
|
|
|
|
|
#[test]
|
|
|
|
fn table_to_toml_fails() {
|
Fix typos by codespell (#7600)
# Description
Found via `codespell -S target -L
crate,ser,numer,falsy,ro,te,nd,bu,ndoes,statics,ons,fo,rouge,pard`
# User-Facing Changes
None.
# Tests + Formatting
None and done.
# After Submitting
None.
2022-12-26 08:31:26 +01:00
|
|
|
// Tables can't be represented in toml
|
2023-07-17 18:43:51 +02:00
|
|
|
let actual = nu!(pipeline(
|
2022-12-24 22:12:09 +01:00
|
|
|
r#"
|
|
|
|
try { [[a b]; [1 2] [5 6]] | to toml | false } catch { true }
|
|
|
|
"#
|
|
|
|
));
|
|
|
|
|
2023-07-14 05:20:35 +02:00
|
|
|
assert!(actual.err.contains("command doesn't support"));
|
2022-12-24 22:12:09 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
#[test]
|
|
|
|
fn string_to_toml_fails() {
|
|
|
|
// Strings are not a top-level toml structure
|
2023-07-17 18:43:51 +02:00
|
|
|
let actual = nu!(pipeline(
|
2022-12-24 22:12:09 +01:00
|
|
|
r#"
|
|
|
|
try { 'not a valid toml' | to toml | false } catch { true }
|
|
|
|
"#
|
|
|
|
));
|
|
|
|
|
2023-07-14 05:20:35 +02:00
|
|
|
assert!(actual.err.contains("command doesn't support"));
|
2022-12-24 22:12:09 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
#[test]
|
|
|
|
fn big_record_to_toml_text_and_from_toml_text_back_into_record() {
|
2019-12-15 17:15:06 +01:00
|
|
|
let actual = nu!(
|
|
|
|
cwd: "tests/fixtures/formats", pipeline(
|
|
|
|
r#"
|
|
|
|
open cargo_sample.toml
|
2020-05-04 10:44:33 +02:00
|
|
|
| to toml
|
|
|
|
| from toml
|
2019-12-15 17:15:06 +01:00
|
|
|
| get package.name
|
|
|
|
"#
|
|
|
|
));
|
|
|
|
|
2020-05-07 13:03:43 +02:00
|
|
|
assert_eq!(actual.out, "nu");
|
2019-12-15 17:15:06 +01:00
|
|
|
}
|