PureYAML/Tests
Mihaela M 2b3d95d214 fix(parsing): chomp the blank lines of an empty block scalar
A block scalar whose only lines are blank never establishes a content
indentation, so its blank lines stayed in the leading-blank buffer and were
discarded when the scalar ended. `keep: |+` over a blank line then resolved to
the empty string rather than the line break keep chomping should preserve.

At stream end, flush the buffered blank lines as content wrapped in an
indent/dedent pair, so the parser builds a block scalar of those lines and
chomping applies: keep preserves the breaks, clip and strip trim them. Only
the stream-end case is handled, where no following line constrains token
ordering; an empty keep scalar before a sibling key is left for later.

Raises yaml-test-suite value-level conformance to 189/194 (97.4%) with the
parse-level and should-error rejection rates unchanged. 456 tests pass.
2026-06-28 22:31:09 +02:00
..
Fixtures
ACMEZephyrFixtureTests.swift
AdditionalCoverageTests.swift
AliasPropertiesTests.swift fix(parsing): reject an anchor or tag on an alias node 2026-06-27 21:11:10 +02:00
AnchoredIndentedNodeParsingTests.swift
AnchoredMappingKeyTests.swift
ArbitraryAnyDecisionTests.swift
BareDocumentAfterEndTests.swift fix(parsing): parse a bare document after a document-end marker 2026-06-28 04:23:06 +02:00
BlockEntryAfterFlowTests.swift fix(parsing): reject a block entry after a flow collection on a line 2026-06-28 01:34:55 +02:00
BlockScalarChompingTests.swift
BlockScalarLeadingBlankTests.swift fix(parsing): reject an over-indented leading line in a block scalar 2026-06-28 00:21:57 +02:00
BlockScalarTabContentTests.swift fix(parsing): keep tabs in block scalar content verbatim 2026-06-28 20:53:40 +02:00
BlockScalarTrailingCommentTests.swift
BlockSequenceAfterPropertyTests.swift fix(parsing): reject a block sequence inline after a node property 2026-06-27 23:14:54 +02:00
CodableCompatibilityFixtures.swift
CodableCompatibilityTests.swift
CodableTypeMatrixTests.swift
CodingTests.swift
CollectionCompatibilityFixtures.swift
CommentInPlainScalarTests.swift fix(parsing): reject a comment interrupting a multi-line plain scalar 2026-06-27 19:47:28 +02:00
CommentWhitespaceTests.swift
ComplexMappingKeyCodableTests.swift
ComplexMappingKeyDumperTests.swift
ComplexMappingKeyParsingTests.swift
ComplexMappingKeyTestSupport.swift
ComplexMappingKeyValidationTests.swift
DiagnosticValidationReportTests.swift
DirectiveAfterDocumentEndTests.swift fix(parsing): allow a directive after a document-end marker 2026-06-28 02:09:01 +02:00
DirectiveTests.swift fix(parsing): require an explicit document after a directive 2026-06-27 17:18:47 +02:00
DocumentationExampleTests.swift
DocumentEndContentTests.swift fix(parsing): reject content after a document end marker 2026-06-27 17:56:37 +02:00
DocumentMarkerInScalarTests.swift fix(parsing): reject a document marker inside a multi-line scalar 2026-06-27 23:20:52 +02:00
DocumentMarkerNodeTests.swift
DoubleQuotedEscapeTests.swift
DoubleQuotedFoldingTests.swift
DownstreamDocumentFixtures.swift
DownstreamDocumentTests.swift
DumperEmptyCollectionTests.swift
DumperTests.swift
EmitterCorpusTests.swift
EmptyBlockScalarChompingTests.swift fix(parsing): chomp the blank lines of an empty block scalar 2026-06-28 22:31:09 +02:00
EmptyTaggedNodeTests.swift fix(parsing): treat a dangling anchor or tag as an empty node 2026-06-28 03:21:04 +02:00
EventStreamingParserTests.swift
ExplicitKeyTests.swift
FlowCollectionAsMappingKeyTests.swift fix(parsing): parse a flow collection before a colon as a mapping key 2026-06-28 18:34:11 +02:00
FlowDashScalarTests.swift fix(parsing): reject a lone dash before a flow indicator 2026-06-28 01:00:57 +02:00
FlowEmptyEntryTests.swift
FlowMappingEmptyKeyTests.swift fix(parsing): allow an empty key in a flow mapping 2026-06-28 19:23:49 +02:00
FlowSequenceEmptyKeyTests.swift fix(parsing): treat colon-led flow sequence element as empty-key map 2026-06-28 19:43:56 +02:00
FoldedScalarBlankLineTests.swift fix(parsing): keep both breaks at a folded blank by a more-indented line 2026-06-28 21:14:14 +02:00
ImplicitNullKeyTests.swift fix(parsing): parse implicit null mapping keys 2026-06-28 02:53:45 +02:00
IndicatorTabBoundaryTests.swift fix(parsing): skip tabs as mid-line separation white space 2026-06-28 20:35:04 +02:00
InlineBlockSequenceValueTests.swift fix(parsing): reject a block sequence inline as a mapping value 2026-06-27 18:35:58 +02:00
InlineNestedMappingTests.swift fix(parsing): reject inline nested block mappings 2026-06-27 18:28:57 +02:00
JSONCompatibilityTests.swift
KeyedCodingTests.swift
LiteralBlockEmissionFixtures.swift
MappingValueTabBoundaryTests.swift fix(parsing): accept a tab after the colon value indicator 2026-06-28 20:30:24 +02:00
MergeKeyCompatibilityTests.swift
ModelTests.swift
MultilineImplicitKeyTests.swift fix(parsing): reject a multiline quoted scalar as a block implicit key 2026-06-27 18:43:09 +02:00
NonCoreTagScalarResolutionTests.swift fix(parsing): keep a non-core-tagged scalar as a string 2026-06-28 22:25:48 +02:00
NumericCodingLadderTests.swift
ParsingAliasTests.swift
ParsingCompatibilityTests.swift fix(parsing): keep a non-core-tagged scalar as a string 2026-06-28 22:25:48 +02:00
ParsingErrorPathTests.swift fix(parsing): treat a dangling anchor or tag as an empty node 2026-06-28 03:21:04 +02:00
ParsingErrorTests.swift
ParsingEventTests.swift
ParsingIndentationRegressionTests.swift
ParsingMultilineScalarTests.swift
ParsingNestingLimitTests.swift
ParsingTests.swift
PerformancePhaseTests.swift
PlainScalarTabCommentTests.swift fix(parsing): end a plain scalar at a tab before a comment 2026-06-28 21:24:59 +02:00
PlainScalarTabFoldingTests.swift fix(parsing): fold tabs in plain scalar continuation lines 2026-06-28 21:00:32 +02:00
PreflightScannerTests.swift
QuotedKeyTests.swift
RealYAMLCorpusPropertyTests.swift
RealYAMLCorpusTests.swift
RealYAMLFixtureTests.swift
RootBlockScalarIndentationTests.swift fix(parsing): fold root block scalars with column-0 content 2026-06-28 17:42:38 +02:00
RoundTripDemonstrationTests.swift
ScalarCompatibilityFixtures.swift
ScannerTests.swift fix(parsing): parse a bare document after a document-end marker 2026-06-28 04:23:06 +02:00
SingleQuotedFoldingTests.swift
StreamDumpingTests.swift
StreamParsingTests.swift fix(parsing): parse a bare document after a document-end marker 2026-06-28 04:23:06 +02:00
TaggedCompatibilityTests.swift fix(parsing): keep a non-core-tagged scalar as a string 2026-06-28 22:25:48 +02:00
TaggedConstructorTests.swift
TaggedKeyUniquenessTests.swift feat(validation): enforce tagged mapping-key uniqueness 2026-06-28 17:03:20 +02:00
TestSupport.swift
UnkeyedCodingFixtures.swift
UnkeyedCodingTests.swift
UnkeyedContainerEdgeTests.swift
UnkeyedEncodingFixtures.swift
UnkeyedFailureFixtures.swift
UnsupportedYAMLGapsFixtures.swift
ValidationBuiltinRuleTests.swift refactor(validation): retire the legacy Rule for one check type 2026-06-28 16:43:31 +02:00
ValidationCheckMachineryTests.swift refactor(validation): fold the tagged validator onto one framework 2026-06-28 10:41:10 +02:00
ValidationCombinatorTests.swift refactor(validation): fold the tagged validator onto one framework 2026-06-28 10:41:10 +02:00
ValidationConfigurationTests.swift feat(validation): configure the validator by rule identity 2026-06-28 05:18:06 +02:00
ValidationCorpusFixtures.swift
ValidationCorpusSupport.swift refactor(validation): retire the legacy Rule for one check type 2026-06-28 16:43:31 +02:00
ValidationCorpusTests.swift
ValidationCoverageMetaTests.swift test(validation): extend the finding-coverage law to both layers 2026-06-28 17:10:03 +02:00
ValidationFailureFixtureTests.swift
ValidationModelTests.swift
ValidationModeTests.swift refactor(validation): retire the legacy Rule for one check type 2026-06-28 16:43:31 +02:00
ValidationReportTests.swift refactor(validation): retire the legacy Rule for one check type 2026-06-28 16:43:31 +02:00
ValidationTests.swift refactor(validation): retire the legacy Rule for one check type 2026-06-28 16:43:31 +02:00
ValidationTestSupport.swift refactor(validation): retire the legacy Rule for one check type 2026-06-28 16:43:31 +02:00
ValueHashableTests.swift
ValuePropertyIndentationTests.swift fix(parsing): reject a later under-indented property on a mapping value 2026-06-28 01:44:48 +02:00
YAMLDirectiveTests.swift fix(parsing): require an explicit document after a directive 2026-06-27 17:18:47 +02:00
YAMLTestSuiteConformanceTests.swift