To nuon escapes (#6660)

* Add tests for "to nuon" escaping handling

* Fix "to nuon" not escaping double quotations

* Fix "to nuon" double backslash

Fix value_to_string_without_quotes leaving escaped backslash in
non-quoted strings
This commit is contained in:
Artemiy
2022-10-04 14:25:21 +03:00
committed by GitHub
parent 5921c19bc0
commit 79ce13abef
2 changed files with 50 additions and 5 deletions

View File

@ -103,6 +103,51 @@ fn to_nuon_escaping2() {
assert_eq!(actual.out, "hello\\world");
}
#[test]
fn to_nuon_escaping3() {
let actual = nu!(
cwd: "tests/fixtures/formats", pipeline(
r#"
["hello\\world"]
| to nuon
| from nuon
| $in == [hello\world]
"#
));
assert_eq!(actual.out, "true");
}
#[test]
fn to_nuon_escaping4() {
let actual = nu!(
cwd: "tests/fixtures/formats", pipeline(
r#"
["hello\"world"]
| to nuon
| from nuon
| $in == ["hello\"world"]
"#
));
assert_eq!(actual.out, "true");
}
#[test]
fn to_nuon_escaping5() {
let actual = nu!(
cwd: "tests/fixtures/formats", pipeline(
r#"
{s: "hello\"world"}
| to nuon
| from nuon
| $in == {s: "hello\"world"}
"#
));
assert_eq!(actual.out, "true");
}
#[test]
fn to_nuon_negative_int() {
let actual = nu!(