-
-
Notifications
You must be signed in to change notification settings - Fork 70
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
Migrate expression tests #97
Conversation
I honestly don't know how I feel about moving these classes here... |
I guess it does limited the options quite a lot of we want to have the tests close to at least one implementation, but I'm leaning more and more towards only having the generic .json tests here, and have each implementation (JS/Native) be responsible for performing their respective integration tests. |
Currently, as a consequence of removing the maplibre-gl-js submodule, both the v8.json, and all the 300 expression test .json files are copied into the MapLibre Native repo. It would be great if GL JS and Native could share these. |
@birkskyum With #146 just merged into |
Let's start by moving just the tests here, release them as artifacts, download and execute them near the respective renderers expression implementations. This is the approach Native takes and GL JS might as well do the same. |
@birkskyum can I delete the linked branch or is it still needed? |
feel free to delete it. |
The 358 json expression tests are used in GL Native as well, so it's best they live in this shared repo.
In order to run the integration tests from GL JS, the following geo classes are moved and exported from here:
MercatorCoordinate,
CanonicalTileID,
LngLat,
LngLatLike,
The expression test 'feature_filter' has some geo queries like 'within' so that explains the need for those.
I'm quite sure the .json belongs here, but there are two ways to go about the integration tests.
We move the test for each implementations (JS, Native) here, so we can evolve them with the spec, like typescript impl in this case.
We have just the JSON here, and let each implementation import those and run the test like how Native has done so far, but similar for JS. I we go with this, those geo classes might not belong here for good as it would be spec-only.