PureYAML/Tests
Mihaela M ecf634fdf7 fix(parsing): reject an under-indented property on a mapping value
A mapping value's anchor or tag on the line below the key must be indented
past the key. The parser consumed such a property regardless of its column,
so 'seq:' then '&anchor' in column 1, anchoring a sequence at the document
level, parsed instead of failing.

When the value's properties are consumed before the indent check, a
properly indented one would have been preceded by an indent token and
consumed inside the indented value; reaching that point with a property on
a later line therefore means it sits at the key's indentation, which is
rejected. The indented-value branch and the new guard move to their own
helpers so parseMappingPair stays within the complexity and length limits.
An inline property, an indented property, and a block sequence at the key's
indent are unaffected.

Measured against the official YAML test-suite, parse-level conformance
rises from 275/333 (82.6%) to 276/333 (82.9%) with no regression.
2026-06-28 01:28:00 +02:00
..
Fixtures test(corpus): add public real yaml seeds 2026-06-06 08:24:12 +02:00
ACMEZephyrFixtureTests.swift feat(parser): harden diagnostics and streaming 2026-06-06 07:57:48 +02:00
AdditionalCoverageTests.swift test: cover the remaining low-level paths 2026-06-26 08:59:24 +02:00
AliasPropertiesTests.swift fix(parsing): reject an anchor or tag on an alias node 2026-06-27 21:11:10 +02:00
AnchoredIndentedNodeParsingTests.swift feat(model): support complex mapping keys 2026-06-05 16:08:45 +02:00
AnchoredMappingKeyTests.swift fix(parsing): allow an anchor or tag on a non-first mapping key 2026-06-27 00:21:38 +02:00
ArbitraryAnyDecisionTests.swift docs(api): reject arbitrary any conversion 2026-06-05 14:34:17 +02:00
BlockScalarChompingTests.swift fix(parsing): preserve leading blank lines in block scalars 2026-06-26 08:42:16 +02:00
BlockScalarLeadingBlankTests.swift fix(parsing): reject an over-indented leading line in a block scalar 2026-06-28 00:21:57 +02:00
BlockScalarTrailingCommentTests.swift fix(parsing): comments and over-indented blanks ending block scalars 2026-06-27 15:34:13 +02:00
BlockSequenceAfterPropertyTests.swift fix(parsing): reject a block sequence inline after a node property 2026-06-27 23:14:54 +02:00
CodableCompatibilityFixtures.swift feat(codable): broaden compatibility coverage 2026-06-05 12:49:20 +02:00
CodableCompatibilityTests.swift Add machine-readable validation reports 2026-06-05 20:39:32 +02:00
CodableTypeMatrixTests.swift test: round-trip the full scalar type matrix through Codable containers 2026-06-26 09:04:54 +02:00
CodingTests.swift
CollectionCompatibilityFixtures.swift fix(parser): match block continuation parsing 2026-06-05 22:12:12 +02:00
CommentInPlainScalarTests.swift fix(parsing): reject a comment interrupting a multi-line plain scalar 2026-06-27 19:47:28 +02:00
CommentWhitespaceTests.swift fix(parsing): reject a comment glued to earlier content on its line 2026-06-27 15:53:16 +02:00
ComplexMappingKeyCodableTests.swift feat(model): support complex mapping keys 2026-06-05 16:08:45 +02:00
ComplexMappingKeyDumperTests.swift feat(model): support complex mapping keys 2026-06-05 16:08:45 +02:00
ComplexMappingKeyParsingTests.swift fix(parsing): an explicit key with no value maps to null 2026-06-26 22:28:13 +02:00
ComplexMappingKeyTestSupport.swift feat(model): support complex mapping keys 2026-06-05 16:08:45 +02:00
ComplexMappingKeyValidationTests.swift feat(model): support complex mapping keys 2026-06-05 16:08:45 +02:00
DiagnosticValidationReportTests.swift feat(parser): harden diagnostics and streaming 2026-06-06 07:57:48 +02:00
DirectiveTests.swift fix(parsing): require an explicit document after a directive 2026-06-27 17:18:47 +02:00
DocumentationExampleTests.swift feat(emitting): dump YAML streams 2026-06-05 17:14:41 +02:00
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 fix(parsing): fold a document-root plain scalar across column-1 lines 2026-06-26 21:30:49 +02:00
DoubleQuotedEscapeTests.swift fix(parsing): enforce the full YAML 1.2 double-quoted escape table 2026-06-27 16:19:25 +02:00
DoubleQuotedFoldingTests.swift fix(parsing): fold line breaks in multi-line double-quoted scalars 2026-06-26 21:13:13 +02:00
DownstreamDocumentFixtures.swift test(compatibility): add downstream document fixtures 2026-06-05 13:45:23 +02:00
DownstreamDocumentTests.swift feat(parser): expand YAML merge keys 2026-06-05 15:12:55 +02:00
DumperEmptyCollectionTests.swift Add machine-readable validation reports 2026-06-05 20:39:32 +02:00
DumperTests.swift feat(parser): harden diagnostics and streaming 2026-06-06 07:57:48 +02:00
EmitterCorpusTests.swift feat(emitting): broaden literal block fixtures 2026-06-05 13:37:33 +02:00
EventStreamingParserTests.swift feat(parser): harden diagnostics and streaming 2026-06-06 07:57:48 +02:00
ExplicitKeyTests.swift fix(parsing): an explicit key with no value maps to null 2026-06-26 22:28:13 +02:00
FlowDashScalarTests.swift fix(parsing): reject a lone dash before a flow indicator 2026-06-28 01:00:57 +02:00
FlowEmptyEntryTests.swift fix(parsing): reject empty entries in flow collections 2026-06-27 16:26:46 +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 feat(parser): harden diagnostics and streaming 2026-06-06 07:57:48 +02:00
KeyedCodingTests.swift
LiteralBlockEmissionFixtures.swift feat(emitting): broaden literal block fixtures 2026-06-05 13:37:33 +02:00
MergeKeyCompatibilityTests.swift feat(parser): expand YAML merge keys 2026-06-05 15:12:55 +02:00
ModelTests.swift
MultilineImplicitKeyTests.swift fix(parsing): reject a multiline quoted scalar as a block implicit key 2026-06-27 18:43:09 +02:00
NumericCodingLadderTests.swift test: cover numeric ladder, NaN hashing, unkeyed edges, error paths 2026-06-26 07:50:08 +02:00
ParsingAliasTests.swift Harden parser against real YAML fixtures 2026-06-05 19:34:30 +02:00
ParsingCompatibilityTests.swift feat(parser): harden diagnostics and streaming 2026-06-06 07:57:48 +02:00
ParsingErrorPathTests.swift test: cover numeric ladder, NaN hashing, unkeyed edges, error paths 2026-06-26 07:50:08 +02:00
ParsingErrorTests.swift refactor(parsing): remove three unreachable ParseError cases 2026-06-26 08:37:53 +02:00
ParsingEventTests.swift Add production validation reports 2026-06-05 20:23:20 +02:00
ParsingIndentationRegressionTests.swift Add production validation reports 2026-06-05 20:23:20 +02:00
ParsingMultilineScalarTests.swift fix(parsing): fold a plain scalar value that begins on its own line 2026-06-26 18:52:09 +02:00
ParsingNestingLimitTests.swift fix(parsing): bound nesting depth so pathological input errors instead of crashing 2026-06-23 09:29:45 +02:00
ParsingTests.swift Harden parser against real YAML fixtures 2026-06-05 19:34:30 +02:00
PerformancePhaseTests.swift feat(parser): harden diagnostics and streaming 2026-06-06 07:57:48 +02:00
PreflightScannerTests.swift feat(parser): harden diagnostics and streaming 2026-06-06 07:57:48 +02:00
QuotedKeyTests.swift fix(parsing): allow a space before the colon of a quoted mapping key 2026-06-27 01:19:28 +02:00
RealYAMLCorpusPropertyTests.swift feat(parser): harden diagnostics and streaming 2026-06-06 07:57:48 +02:00
RealYAMLCorpusTests.swift feat(parser): harden diagnostics and streaming 2026-06-06 07:57:48 +02:00
RealYAMLFixtureTests.swift Harden parser against real YAML fixtures 2026-06-05 19:34:30 +02:00
RoundTripDemonstrationTests.swift test: demonstrate yaml/json parsing and generation round-trips 2026-06-08 00:13:56 +02:00
ScalarCompatibilityFixtures.swift Add scalar compatibility corpus 2026-06-05 13:07:04 +02:00
ScannerTests.swift fix(parsing): ignore an unrecognized directive instead of rejecting it 2026-06-26 22:20:18 +02:00
SingleQuotedFoldingTests.swift fix(parsing): fold line breaks in multi-line single-quoted scalars 2026-06-26 21:18:55 +02:00
StreamDumpingTests.swift feat(emitting): dump YAML streams 2026-06-05 17:14:41 +02:00
StreamParsingTests.swift fix(parsing): fold a document-root plain scalar across column-1 lines 2026-06-26 21:30:49 +02:00
TaggedCompatibilityTests.swift feat(tagged): add tag-preserving validation 2026-06-05 15:35:52 +02:00
TaggedConstructorTests.swift feat(tagged): add typed constructor policy 2026-06-05 16:24:11 +02:00
TestSupport.swift Harden parser against real YAML fixtures 2026-06-05 19:34:30 +02:00
UnkeyedCodingFixtures.swift test(coding): add sequence fixtures and contract gate 2026-06-05 12:33:09 +02:00
UnkeyedCodingTests.swift Add machine-readable validation reports 2026-06-05 20:39:32 +02:00
UnkeyedContainerEdgeTests.swift test: cover numeric ladder, NaN hashing, unkeyed edges, error paths 2026-06-26 07:50:08 +02:00
UnkeyedEncodingFixtures.swift Add machine-readable validation reports 2026-06-05 20:39:32 +02:00
UnkeyedFailureFixtures.swift test(coding): add sequence fixtures and contract gate 2026-06-05 12:33:09 +02:00
UnsupportedYAMLGapsFixtures.swift fix(parsing): ignore an unrecognized directive instead of rejecting it 2026-06-26 22:20:18 +02:00
ValidationBuiltinRuleTests.swift
ValidationCorpusFixtures.swift feat(parser): expand YAML merge keys 2026-06-05 15:12:55 +02:00
ValidationCorpusSupport.swift test(validation): expand fixture corpus 2026-06-05 14:29:52 +02:00
ValidationCorpusTests.swift test(validation): expand fixture corpus 2026-06-05 14:29:52 +02:00
ValidationFailureFixtureTests.swift Harden parser against real YAML fixtures 2026-06-05 19:34:30 +02:00
ValidationModelTests.swift
ValidationModeTests.swift
ValidationReportTests.swift feat(parser): harden diagnostics and streaming 2026-06-06 07:57:48 +02:00
ValidationTests.swift
ValidationTestSupport.swift
ValueHashableTests.swift test: cover numeric ladder, NaN hashing, unkeyed edges, error paths 2026-06-26 07:50:08 +02:00
ValuePropertyIndentationTests.swift fix(parsing): reject an under-indented property on a mapping value 2026-06-28 01:28:00 +02:00
YAMLDirectiveTests.swift fix(parsing): require an explicit document after a directive 2026-06-27 17:18:47 +02:00
YAMLTestSuiteConformanceTests.swift test: add value-level YAML conformance against in.json 2026-06-26 20:18:32 +02:00