-
Notifications
You must be signed in to change notification settings - Fork 3
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
Tests for syntax highlighting #105
Conversation
f1365b9
to
1c152bd
Compare
thanks for creating this @petervdonovan! i tried to run the syntax test locally, and it finished quickly as you reported (: however, some of the tests are failing, even though i haven't applied any changes. any idea why this could be happening? from what i can gather from the terminal output, it looks like there's some mismatch in the HTML for |
It sounds like you may have checked out a different Anyway, it is not so important that this test passes right now because maybe we will update the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I haven't had a chance to try this yet, but what does a test failure look like?
Here is an example:
|
My concern is that it's not easy to see what's wrong about the HTML code, even though it might be obvious to see when rendered. Why not render it as a webpage? |
OK, I will take it as an action item to try something like this. |
On second thought, can we please not do this? At some point we will end up writing a web app just to be able to run our tests, and our tests themselves will need tests... The HTML is the most explicit and unambiguous representation of the syntax annotations that is possible. If it is too hard to read, then you can always just rebuild the VS Code extension and view the file. Viewing files using the VS Code extension is a very efficient way to see the effects of the highlighting, and it lets you visually inspect many files quickly without having to learn to use another testing tool. |
"dom" is needed in the TS transpilation in order to use WebAssembly, but that is no problem because we can just include that when compile our tests, and not include it when we compile the VS Code extension.
46ca243
to
b580d30
Compare
yes, this was it, thanks! tests look good now. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me! Let's merge this 🚀
Implements the behavior that I discussed today with @lhstrh and @jesslin02.
I am pleased to find that this test terminates in roughly 2 seconds on my laptop, regardless of whether it is creating new known-good results or comparing against them, even though it is running on all 908 of our
lingua-franca
tests. If only all of our project's integration tests could terminate in 2 seconds 😅This duplicates code which can be found in
website-lingua-franca
. I opted not to create a submodule. The purpose of this code is different from the purpose of the code inwebsite-lingua-franca
, and it is OK for code with a different purpose to evolve independently. Besides -- it is only a 50ish-line snippet that is copied and pasted.I am concerned that HTML is too verbose and hard to read.
For now, I propose to stick with the HTML annotations. If their verbosity is a serious problem for us in practice, then we can revisit them.