From f35e5e756127b1ffe7413f373d85a0e7352a29b6 Mon Sep 17 00:00:00 2001 From: Marko Lahma Date: Sat, 30 Jul 2022 15:32:37 +0300 Subject: [PATCH] Fix block entry indicator check --- YamlDotNet.Test/RepresentationModel/YamlStreamTests.cs | 10 ++++++++++ YamlDotNet/Core/Scanner.cs | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/YamlDotNet.Test/RepresentationModel/YamlStreamTests.cs b/YamlDotNet.Test/RepresentationModel/YamlStreamTests.cs index 2eafe9f21..8dc96b3dd 100644 --- a/YamlDotNet.Test/RepresentationModel/YamlStreamTests.cs +++ b/YamlDotNet.Test/RepresentationModel/YamlStreamTests.cs @@ -218,6 +218,16 @@ public void AllAliasesMustBeResolved() Assert.Throws(() => original.Load(Yaml.ReaderFrom("invalid-reference.yaml"))); } + [Fact] + public void CanReadValueWithQuotes() + { + var yamlStream = new YamlStream(); + yamlStream.Load(Yaml.ParserForText("description: -\"\" should be zero")); + var nodes = yamlStream.Documents.Single().AllNodes.ToArray(); + Assert.Equal("description", nodes[1].ToString()); + Assert.Equal("-\"\" should be zero", nodes[2].ToString()); + } + private void RoundtripTest(string yamlFileName) { var original = new YamlStream(); diff --git a/YamlDotNet/Core/Scanner.cs b/YamlDotNet/Core/Scanner.cs index 081f46769..1cd133306 100644 --- a/YamlDotNet/Core/Scanner.cs +++ b/YamlDotNet/Core/Scanner.cs @@ -398,7 +398,7 @@ private void FetchNextToken() FetchBlockEntry(); return; } - else if (analyzer.Check("?:,[]{}#&*!|>'\"%@`", 1)) + else if (analyzer.Check(",[]{}", 1)) { tokens.Enqueue(new Error("Invalid key indicator format.", cursor.Mark(), cursor.Mark())); }