mirror of
https://github.com/nushell/nushell.git
synced 2024-11-08 09:34:30 +01:00
Fix &&
quotation in to nuon
after proptest fail (#7564)
`proptest` caught a failing test condition for `&&` as a literal string. It requires a quotation to be parsed correctly by current `from nuon` https://github.com/nushell/nushell/actions/runs/3753242377/jobs/6376308675 The change in the parser that now returns an error was introduced by https://github.com/nushell/nushell/pull/7241 This in theory doesn't have to be an error (it is a diagnostic for nushell code) but it is probably better safe than sorry to require quotation here. - Add a test for `&&` in `to nuon` from proptest fail - Fix `to nuon` generating invalid `&&` literal - Add a test for `,` in `to nuon`/`from nuon` cycle - Bonus: should already be properly quoted
This commit is contained in:
parent
05e07ddf5c
commit
ec08e4bc6d
@ -215,7 +215,11 @@ static NEEDS_QUOTES_REGEX: Lazy<Regex> = Lazy::new(|| {
|
||||
fn needs_quotes(string: &str) -> bool {
|
||||
// These are case-sensitive keywords
|
||||
match string {
|
||||
"true" | "false" | "null" => return true,
|
||||
// `true`/`false`/`null` are active keywords in JSON and NUON
|
||||
// `&&` is denied by the nu parser for diagnostics reasons
|
||||
// (https://github.com/nushell/nushell/pull/7241)
|
||||
// TODO: remove the extra check in the nuon codepath
|
||||
"true" | "false" | "null" | "&&" => return true,
|
||||
_ => (),
|
||||
};
|
||||
// All other cases are handled here
|
||||
|
@ -330,7 +330,9 @@ fn quotes_some_strings_necessarily() {
|
||||
'-11.0..-15.0', '11.0..-15.0', '-11.0..15.0',
|
||||
'-11.0..<-15.0', '11.0..<-15.0', '-11.0..<15.0',
|
||||
'-11.0..', '11.0..', '..15.0', '..-15.0', '..<15.0', '..<-15.0',
|
||||
'2000-01-01', '2022-02-02T14:30:00', '2022-02-02T14:30:00+05:00'
|
||||
'2000-01-01', '2022-02-02T14:30:00', '2022-02-02T14:30:00+05:00',
|
||||
',',
|
||||
'&&'
|
||||
] | to nuon | from nuon | describe
|
||||
"#
|
||||
));
|
||||
|
Loading…
Reference in New Issue
Block a user