PureYAML/Sources/Parsing
Mihaela M fcba4e1f57 fix(parsing): reject content after a document end marker
A document-end marker takes no node on its own line: only a comment or
blank may follow. The scanner skipped the rest of the marker's line, so
content such as the 'invalid' in '... invalid' was silently dropped and
the document accepted.

scanDocumentMarker now distinguishes the two markers after skipping spaces:
a document start may carry the root node on its line and leaves it for the
main loop, while a document end rejects any real content (a comment or
blank still passes). A '...' not followed by an indicator boundary is not
a marker at all and remains an ordinary plain scalar, so '...junk' still
parses as content.

Measured against the official YAML test-suite, parse-level conformance
rises from 255/333 (76.6%) to 256/333 (76.9%) with no regression.
2026-06-27 17:56:37 +02:00
..
BlockScalarChomping.swift
BlockScalarStyle.swift
CollectionStyle.swift
Event.swift
EventComposer.Merge.swift
EventComposer.swift
EventStreamComposedNode.swift
EventStreamComposer.swift
EventStreamComposerMode.swift
EventStreamContainer.swift
EventStreamContainerKind.swift
Mark.swift
MergeResolution.swift
NodeKind.swift
NodeProperties.swift
NodeResult.swift
ParseError.swift fix(parsing): reject content after a document end marker 2026-06-27 17:56:37 +02:00
Parser.Events.swift
Parser.ScalarComposition.swift
Parser.swift
Reader.swift
Scalar.swift fix(parsing): enforce the full YAML 1.2 double-quoted escape table 2026-06-27 16:19:25 +02:00
ScalarStyle.swift
Scanner.Directives.swift fix(parsing): reject content after a document end marker 2026-06-27 17:56:37 +02:00
Scanner.FlowContext.swift
Scanner.Helpers.swift fix(parsing): comments and over-indented blanks ending block scalars 2026-06-27 15:34:13 +02:00
Scanner.Indentation.swift fix(parsing): comments and over-indented blanks ending block scalars 2026-06-27 15:34:13 +02:00
Scanner.Scalars.swift fix(parsing): reject a comment glued to earlier content on its line 2026-06-27 15:53:16 +02:00
Scanner.swift fix(parsing): require an explicit document after a directive 2026-06-27 17:18:47 +02:00
ScannerFlowContextKind.swift
TagNormalizer.swift
Text.swift
Token.swift
TokenCursor.swift fix(parsing): require an explicit document after a directive 2026-06-27 17:18:47 +02:00
TokenEventParser.Block.swift
TokenEventParser.Flow.swift fix(parsing): reject empty entries in flow collections 2026-06-27 16:26:46 +02:00
TokenEventParser.Helpers.swift fix(parsing): allow an anchor or tag on a non-first mapping key 2026-06-27 00:21:38 +02:00
TokenEventParser.swift
TokenKind.swift