diff --git a/YamlDotNet.Test/RepresentationModel/YamlStreamTests.cs b/YamlDotNet.Test/RepresentationModel/YamlStreamTests.cs index 2eafe9f2..8dc96b3d 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 081f4676..1cd13330 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())); }