-
-
Notifications
You must be signed in to change notification settings - Fork 9.6k
[JsonPath] The JsonPath component should run the official conformance testsuite #60669
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Is the expectation for the JsonPath component to completely comply with this test suite? I tested around a bit and if I am not mistaken, there are several issues. Example for https://github.com/jsonpath-standard/jsonpath-compliance-test-suite/blob/main/cts.json#L1088-L1110: $crawler = new JsonCrawler('[{"a": "1", "d": "e"}, {"a": 1, "d": "f"}]');
$crawler->find(new JsonPath("$[?@.a=='1']"));
|
@mttsch Yes! Most of the stabilization work for the next months will be about sticking to the RFC |
@mttsch the component is meant to implement RFC9535, so definitely yes. It is a bit unfortunate that I discovered the compliance testsuite only yesterday. It would have been useful to run it from the start. |
Description
I just found out that there is a compliance testsuite for the JsonPath standard, available at https://github.com/jsonpath-standard/jsonpath-compliance-test-suite (see https://github.com/jsonpath-standard/jsonpath-compliance-test-suite/blob/main/cts.json for the full testsuite, generated from the individual files in the repo).
I suggest that our JsonPath component should have a test case running the compliance testsuite, with a data provider reading this cts.json file. The
name
of tests in the compliance test suite is guaranteed to be unique, so they can be used as keys in the data provider to make failure reporting better.Example
No response
The text was updated successfully, but these errors were encountered: