yaml-ld
yaml-ld copied to clipboard
Conformance Tests
- YAML-LD must include comprehensive conformance tests for all its features.
- In fact the features should be designed after agreed archetypical examples, so it's feasible for the development process to be "test-driven"
- It should replicate/re-render all JSON-LD tests. Despite no official support in the spec, the gazillion JSON-LD conformance tests are written in YAML: https://github.com/w3c/json-ld-syntax/tree/main/yaml
- It should add extra tests for any YAML feature that has no JSON analog
These resources can be useful:
- https://metacpan.org/pod/YAML::PP#WHY
- https://matrix.yaml.info/
- https://github.com/yaml/yaml-test-suite
One must be impressed by the number of JSONLD 1.1 conformance tests https://w3c.github.io/json-ld-api/reports: 1319. Of course, we should replicate all these tests in YAML, then add more about the extra features.
Summary table: https://docs.google.com/spreadsheets/d/1fSV1vgoRXVY9DR_Rd4eQ02qP01gBctGKvUQQafWVFPQ/edit#gid=0

Discussed at TPAC F2F, @gkellogg to setup testing infrastructure to focus on the specifics of YAML-LD, vs JSON-LD API methods. Call for test cases.
There is a substantial amount of overlap in all these tests; some are simply replicated (e.g. expansion and toRdf), and they are principally designed to test the algorithms. Depending on the mechanisms we define for processing YAML-LD, this may be overkill. Of course, we can mechanically transform all of these tests into YAML, but there may be some combinatoric explosion considering combining both JSON and YAML forms when processing.
Gregg Kellogg Sent from my iPhone
On Jul 11, 2022, at 5:39 AM, Vladimir Alexiev @.***> wrote:
One must be impressed by the number of JSONLD 1.1 conformance tests https://w3c.github.io/json-ld-api/reports. Of course, we should replicate all these tests in YAML, then add more about the extra features.
Summary table: https://docs.google.com/spreadsheets/d/1fSV1vgoRXVY9DR_Rd4eQ02qP01gBctGKvUQQafWVFPQ/edit#gid=0
— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you are subscribed to this thread.