chyh1990 / yaml-rust

A pure rust YAML implementation.
Apache License 2.0
609 stars 140 forks source link

Values and tags in spec test #148

Open ExpHP opened 4 years ago

ExpHP commented 4 years ago

Looking at the tests, I see this file:

https://github.com/chyh1990/yaml-rust/blob/360a34d75bb64357cfdbc5bb706bcde9a0ecbc23/tests/spec_test.rs.inc

which appears to be generated from this file:

https://github.com/chyh1990/yaml-rust/blob/360a34d75bb64357cfdbc5bb706bcde9a0ecbc23/tests/specs/handler_spec_test.cpp

However, much of the information tested by the C++ tests is lost in this transformation. Most notably, the contents of scalar values and tags are not tested. Is there a reason for this? I think it would be nice to see this information included in the tests performed by the crate.

(I'm guessing this is due to technical difficulties with parsing the arguments in the conversion script, and/or converting them from C++ syntax to rust?)

(while trying to think through how I could implement this, I found it also unclear why untagged values in the C++ tests sometimes have a tag of "?" and other times a tag of "!"... Ahh, that's covered in section 3.3.2 (Resolved Tags) of the spec)