Commit graph

71 commits

Author SHA1 Message Date
Ethiraric
c60099af9b Fix block scalar / eof interactions. 2024-01-23 00:19:04 +01:00
Ethiraric
9b653e607b Fix block scalars and document end interaction. 2024-01-23 00:19:04 +01:00
Ethiraric
308b07bad2 Fix duplicate version directive. 2024-01-23 00:19:04 +01:00
Ethiraric
31dc4a1456 Fixes towards implicit document end. 2024-01-23 00:19:04 +01:00
Ethiraric
7a3e3b05b4 Fixes towards spaces before comments. 2024-01-23 00:19:04 +01:00
Ethiraric
99d82be6a3 Fix possible misindent in block scalar. 2024-01-23 00:19:04 +01:00
Ethiraric
b2aa95b4c1 Fix towards multiple documents in a single stream. 2024-01-23 00:19:04 +01:00
Ethiraric
bff3c4ccaf Fix towards invalid trailing characters. 2024-01-23 00:19:04 +01:00
Ethiraric
81104ba833 Fix towards flow mapping and colons. 2024-01-23 00:19:04 +01:00
Ethiraric
4603e31a67 Finally grasped how SimpleKey works.
This is a huge commit that cannot easily be broken down as it contains
fixes for the next ignored test in the suite which, one fixed, broke
tests that used to pass and were only then fixed.

There is also a substantial amount of comments that were added,
especially around `SimpleKey`. Minor improvements around the code were
added and I did not bother making a separate commit for them.

Overall, that commit fixes 7 tests from the matrix that were related to
the handling of simple keys.
2024-01-23 00:19:04 +01:00
Ethiraric
23f3a512f0 Fix anchor names' character set. 2024-01-23 00:19:04 +01:00
Ethiraric
07a0743288 Fix empty documents tests. 2024-01-23 00:19:04 +01:00
Ethiraric
65a89f41b9 Fix empty keys in implicit mappings. 2024-01-23 00:19:04 +01:00
Ethiraric
19bd49865f Add debugging helpers. 2024-01-23 00:19:04 +01:00
Ethiraric
319b288e60 More fixes towards invalid tabs. 2024-01-23 00:19:04 +01:00
Ethiraric
0889d66c32 More fixes towards invalid tabs? 2024-01-23 00:19:04 +01:00
Ethiraric
84bfd0d3de More fixes towards invalid tabs. 2024-01-23 00:19:04 +01:00
Ethiraric
870f2359dd More fixes towards invalid tabs. 2024-01-23 00:19:04 +01:00
Ethiraric
cd2c34cabe Fix indent when - & entry have \n in-between. 2024-01-23 00:19:04 +01:00
Ethiraric
5a8c5a3d44 More fixes towards invalid tabs. 2024-01-23 00:19:04 +01:00
Ethiraric
326082e0bc Fix DK95-00, I guess. 2024-01-23 00:19:04 +01:00
Ethiraric
abe5d30b3a Minor improvements. 2024-01-23 00:19:04 +01:00
Ethiraric
01ecc1ab0f More fixes towards tabulations. 2024-01-23 00:19:04 +01:00
Ethiraric
e69953bf80 Fix more inappropriate use of tabs. 2024-01-23 00:19:04 +01:00
Ethiraric
270c75ce03 Fix tab used as indentation checks. 2024-01-23 00:19:04 +01:00
Ethiraric
1afe5e353f Handle "!!" tag overriding. 2024-01-23 00:19:04 +01:00
Ethiraric
cf9088286d Remove stale tag handling code. 2024-01-23 00:19:04 +01:00
Ethiraric
0d50cff2b5 Don't inherit tag directives between documents. 2024-01-23 00:19:04 +01:00
Ethiraric
a502625ce8 Reslove tag directives. 2024-01-23 00:19:04 +01:00
Ethiraric
b1be5686bf Propagate tag to SequenceStart event. 2024-01-23 00:19:04 +01:00
Ethiraric
ddd768e681 Propagate tag to MappingStart event. 2024-01-23 00:19:04 +01:00
Ethiraric
e4c4182020 Minor improvements.
* Doc comments
* Helper functions
* Line breaks for readability
2024-01-23 00:19:04 +01:00
Ethiraric
c458fd1248 Rustfmt + clippy. 2024-01-23 00:19:04 +01:00
Ethiraric
f9eb8c6d60 Move emitter/scanner tests to their folder.
Change scanner's complex test:
```diff
-  *coffee:
+  *coffee :
     amount: 4
-  *cookies:
+  *cookies :
     amount: 4
```

According to https://play.yaml.io/main/parser, this example was invalid
in the first place. Adding a space makes it so that the colon is not
part of the alias name.

Also fix colons not being able to be part of anchors.
2024-01-23 00:19:04 +01:00
Denis Lisov
3cdb815556 yaml-test-suite: print the YAML text on failure 2024-01-23 00:19:04 +01:00
Denis Lisov
af569b50d7 yaml-test-suite: update to YTS v2022-01-17 2024-01-23 00:19:04 +01:00
Denis Lisov
d27da67c69 yaml-test-suite: print the names of missing XFAILs 2024-01-23 00:19:04 +01:00
Denis Lisov
ce88cabc08 yaml-test-suite: ensure all XFAILs do exist as tests 2024-01-23 00:19:04 +01:00
Denis Lisov
eac129c5f5 yaml-test-suite: add ignores and classify failures 2024-01-23 00:19:04 +01:00
Denis Lisov
ff12dca0d2 yaml-test-suite: move to libtest-mimic 2024-01-23 00:19:04 +01:00
Denis Lisov
38a81c6200 testing: add an integration test for yaml-test-suite
The official YAML test suite (https://github.com/yaml/yaml-test-suite).
Requires the submodule to be checked out.
2024-01-23 00:19:04 +01:00
Ethiraric
da67c9a763 Expose ScanError::info.
From https://github.com/chyh1990/yaml-rust/pull/190.
2023-08-17 23:43:15 +02:00
Ethiraric
c3d394186a Fix more clippy lints. 2023-08-17 23:31:32 +02:00
Ethiraric
2d8c4e8fc9 Add documentation and move tests to their folder. 2023-08-17 23:16:06 +02:00
Ethiraric
91ed5dca21 Clippy set to pedantic. 2023-08-14 16:11:33 +02:00
Anton Kochkov
a4b1bb6e9b Update quickcheck to 0.9 2020-05-27 14:25:59 +08:00
Hendrik Sollich
faf6e2a8a6 Fix emitting hexlike strings without quotes
The emitter omitted quotes for strings that start with `0x` those would
subsequently be parsed as strings again. This should fix #133.
2019-07-24 16:40:02 +02:00
David Tolnay
34c0069d09 Merge pull request #112 from xfix/add-testing-input-output-identity-in-quickcheck
Add testing whether load(dump(x)) is an identity in quickcheck
2018-09-15 12:23:08 -07:00
David Tolnay
10498b2423 Escape string containing colon
I don't know whether this is always necessary but it is required for
correctly serializing `["x: %"]`. If we serialize this without quotes to
`[x: %]` then the result is not valid YAML.
2018-09-15 12:20:14 -07:00
Konrad Borowski
6cb37b8e32 Add testing whether load(dump(x)) is an identity in quickcheck 2018-09-15 19:06:39 +02:00