Commit graph

62 commits

Author SHA1 Message Date
Ethiraric
4c1376a2b0 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
e9bcc8a28b Fix anchor names' character set. 2024-01-23 00:19:04 +01:00
Ethiraric
6308bbe98f Fix empty documents tests. 2024-01-23 00:19:04 +01:00
Ethiraric
e7f29450ca Fix empty keys in implicit mappings. 2024-01-23 00:19:04 +01:00
Ethiraric
be6a05916f Add debugging helpers. 2024-01-23 00:19:04 +01:00
Ethiraric
2e5605ddc2 More fixes towards invalid tabs. 2024-01-23 00:19:04 +01:00
Ethiraric
6e8af26435 More fixes towards invalid tabs? 2024-01-23 00:19:04 +01:00
Ethiraric
06b03f5cf5 More fixes towards invalid tabs. 2024-01-23 00:19:04 +01:00
Ethiraric
5437f5d9cb More fixes towards invalid tabs. 2024-01-23 00:19:04 +01:00
Ethiraric
458d22ef80 Fix indent when - & entry have \n in-between. 2024-01-23 00:19:04 +01:00
Ethiraric
a80091795b More fixes towards invalid tabs. 2024-01-23 00:19:04 +01:00
Ethiraric
88833f8a06 Fix DK95-00, I guess. 2024-01-23 00:19:04 +01:00
Ethiraric
abac504295 Minor improvements. 2024-01-23 00:19:04 +01:00
Ethiraric
29b513bea3 More fixes towards tabulations. 2024-01-23 00:19:04 +01:00
Ethiraric
e1ae3bd5b2 Fix more inappropriate use of tabs. 2024-01-23 00:19:04 +01:00
Ethiraric
c670b32461 Fix tab used as indentation checks. 2024-01-23 00:19:04 +01:00
Ethiraric
06a6fb34c1 Handle "!!" tag overriding. 2024-01-23 00:19:04 +01:00
Ethiraric
ffed282a9f Remove stale tag handling code. 2024-01-23 00:19:04 +01:00
Ethiraric
92e20e6eb4 Don't inherit tag directives between documents. 2024-01-23 00:19:04 +01:00
Ethiraric
5f6dc2246f Reslove tag directives. 2024-01-23 00:19:04 +01:00
Ethiraric
3f10cf9e5d Propagate tag to SequenceStart event. 2024-01-23 00:19:04 +01:00
Ethiraric
e6fdcddceb Propagate tag to MappingStart event. 2024-01-23 00:19:04 +01:00
Ethiraric
3ffb231e40 Minor improvements.
* Doc comments
* Helper functions
* Line breaks for readability
2024-01-23 00:19:04 +01:00
Ethiraric
81f9a376fb Rustfmt + clippy. 2024-01-23 00:19:04 +01:00
Ethiraric
8c4ea2c838 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
fb8ef31546 yaml-test-suite: print the YAML text on failure 2024-01-23 00:19:04 +01:00
Denis Lisov
c7e371a24c yaml-test-suite: update to YTS v2022-01-17 2024-01-23 00:19:04 +01:00
Denis Lisov
9fd57469a4 yaml-test-suite: print the names of missing XFAILs 2024-01-23 00:19:04 +01:00
Denis Lisov
080d7d5275 yaml-test-suite: ensure all XFAILs do exist as tests 2024-01-23 00:19:04 +01:00
Denis Lisov
4ba34544ad yaml-test-suite: add ignores and classify failures 2024-01-23 00:19:04 +01:00
Denis Lisov
a8cf1bb642 yaml-test-suite: move to libtest-mimic 2024-01-23 00:19:04 +01:00
Denis Lisov
9001d564b6 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
ff2d5fc5b6 Expose ScanError::info.
From https://github.com/chyh1990/yaml-rust/pull/190.
2023-08-17 23:43:15 +02:00
Ethiraric
0a11923625 Fix more clippy lints. 2023-08-17 23:31:32 +02:00
Ethiraric
0c4a395829 Add documentation and move tests to their folder. 2023-08-17 23:16:06 +02:00
Ethiraric
fd37ebd6e5 Clippy set to pedantic. 2023-08-14 16:11:33 +02:00
Anton Kochkov
3cfe953325 Update quickcheck to 0.9 2020-05-27 14:25:59 +08:00
Hendrik Sollich
de742fbcd6 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
ec00203abb 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
cedb185876 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
3250426de7 Add testing whether load(dump(x)) is an identity in quickcheck 2018-09-15 19:06:39 +02:00
David Tolnay
f26a44bcdc Format with rustfmt 0.99.4 2018-09-15 09:49:08 -07:00
Charlie Ozinga
dc2e0a75c6 Merge branch 'master' of https://github.com/chyh1990/yaml-rust into chyh1990 2017-07-10 10:05:43 -06:00
Christian Hofer
505b1d6ec1 Always pass events by value
- The EventReceiver gets ownership of events
- Breaks compatilibility with previous interface
2017-06-19 15:41:26 +02:00
Charlie Ozinga
80f967bc09 Remove extraneous debug output from test 2017-05-11 23:36:51 -06:00
Charlie Ozinga
06c9b22357 Fix nested arrays, emit compact in-line 2017-05-11 23:29:41 -06:00
Charlie Ozinga
ff8572352d Rebased and resolved conflicts with the following:
https://github.com/chyh1990/yaml-rust/pull/66
https://github.com/chyh1990/yaml-rust/pull/62 (closed in favor of 66)
2017-05-11 12:36:38 -06:00
David Tolnay
37dc15badb Fix clippy complaints 2017-05-08 11:35:53 -07:00
Tom Parker
84ffcafbc2 Add quickcheck to find broken exports 2017-05-08 18:37:15 +01:00
Yuheng Chen
87539f852d remove trailing space 2015-06-30 00:31:22 +08:00