From 3868b837568741ffdb4b7264fb55d1a39d7521c1 Mon Sep 17 00:00:00 2001 From: Ethiraric Date: Mon, 22 Jan 2024 23:03:02 +0100 Subject: [PATCH] Fix dquote indentation. --- parser/src/scanner.rs | 9 ++++++++- parser/tests/yaml-test-suite.rs | 1 - 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/parser/src/scanner.rs b/parser/src/scanner.rs index 57a4295..ef4986a 100644 --- a/parser/src/scanner.rs +++ b/parser/src/scanner.rs @@ -1816,6 +1816,10 @@ impl> Scanner { )); } + if (self.mark.col as isize) < self.indent { + return Err(ScanError::new(start_mark, "invalid identation in quoted scalar")); + } + leading_blanks = false; self.consume_flow_scalar_non_whitespace_chars( single, @@ -2055,7 +2059,10 @@ impl> Scanner { let start_mark = self.mark; if self.flow_level > 0 && (start_mark.col as isize) < indent { - return Err(ScanError::new(start_mark, "foo")); + return Err(ScanError::new( + start_mark, + "invalid indentation in flow construct", + )); } let mut string = String::new(); diff --git a/parser/tests/yaml-test-suite.rs b/parser/tests/yaml-test-suite.rs index e4470ac..fee25c3 100644 --- a/parser/tests/yaml-test-suite.rs +++ b/parser/tests/yaml-test-suite.rs @@ -315,7 +315,6 @@ fn expected_events(expected_tree: &str) -> Vec { #[rustfmt::skip] static EXPECTED_FAILURES: &[&str] = &[ // Misc - "QB6E", // Indent for multiline double-quoted scalar "S98Z", // Block scalar and indent problems? "U99R", // Comma is not allowed in tags "WZ62", // Empty content