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
Restore vows
test "suite", drop useless proof tests
#51
Conversation
Renamed the qualifying `.js` files to `.vows.js` to simplify filtering.
making it pass could be a breaking change
This comment has been minimized.
This comment has been minimized.
less code better error messages
- `npm start` to run it - took 10 min on my machine
Stryker was super easy to set up! Awesome.
|
I will wait for any reply before going further, I think the PR is already big enough. |
To verify that nothing broke since forked, I did the following procedure
Result:
This is this assertion, so I fixed it by adding back v0.1.28-not-published (last tag pushed by original author)
Same assertion as above, so the regression was introduced by him. 0.3.0 (first version with actual changes, no more
since no code changes where done since that version: DONE 🎉 |
BREAKING CHANGE: The regression was introduced in 56eb39f and first published as part of https://github.com/xmldom/xmldom/releases/tag/v0.1.29 https://www.npmjs.com/package/xmldom/v/0.1.29
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.
In general I think this proposal is really awesome. I would definitely agree to restore vows
now and consider whether or not to switch (again) for future consideration.
My biggest criticism is that the change from fb6f516 shows way too much diff on GitHub. I would strongly favor keeping the formatting change in a separate PR and consider using something automatic such as eslint, "Standard JS", or Prettier.
I would also favor moving a few more items out to their own PRs:
- Assert
equal
instead ofisTrue
- do this after we fix the formatting - configure Stryker (I would favor using "stryker" rather than "start" in the scripts)
- fix
nbsp
regression (maybe raise an issue first)
Just to make sure we are talking about the same thing: so I checked the difference in my IDE: Regarding splitting out into several PRs, that's fine. (I seem to have misunderstood your message in the issue as "stryker" being a requirement to fix/close the issue and assuming they should go into one PR.) |
yup
I would not be surprised. I generally use command-line tools together with I would actually favor that we restore the test coverage before dealing with the LF endings or any other formatting items. In terms of Stryker, I could go either way at this point if the total changes do not prove excessive. I would still really like to get the Another side point is that the name of |
Just thinking out loud here (and for referencing it later), this is my current plan:
|
FYI: The checklist is complete, I will still keep the branch since there are some links to it by now and maybe also some other changes that we could pick from it. But nothing urgent. |
fixes #35
I found that some part of the
test
folder are usingvows
for testing.vows
is able to handle when invoked from the cli. (test/**/.js
files that don't have the.vows.js
extension might still contain assertions. We need to digest them and decide whether and how to restore them.)All the
vows
tests can now be executed via the usualnpm test
.Tons of test cases where only calls to
console.assert
that logged an "Assertion failed: ...", I converted them intoassert.[equal|isTrue|greater|...]
where possible. When these failed and it made sense, I changed the expectation to the current value.In case we need to skip a test, the easiest is still to convert it to
console.assert
.I also drastically reduced the amount of
console.log
in tests, now the only thing that's printing in addition tovows
is the internal logging of xmldom.Stryker can be run using
npm start
for now, I thought it's the most convenient solution for now. See below for the report from my first run.jest
in a different PR.
is converted to a normal space instead of\u00a0
, see comment and commit afterwards that fixes the regression.