Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This ended up being harder than anticipated, mostly due to tooling.
For the most part, the change was simple. In
errors.ts
, I've replaceclass SomeError extends Error
withfunction newSomeError(...): DOMException
, and updated all callers.However, there are two regressions and broken one tool, and I don't quite know how to fix them.
Regression one is that the w3c test in
src/test/web-platform-tests/converted/error-attributes.js
now fails (line 218).(now fixed)
Regression two is that the Mocha testshould allow index where not all records have keys
now failsIssue three is that qunit now fails altogether; this seems to be caused by the new
domexception
dependency using object spread notation on line 15 ofwebidl2js-wrapper.js
.Also, I had to do something a little hacky: after bashing my head on the wall trying to get TypeScript to recognize that the imported
DOMException
had the type of nativeDOMException
, I eventually just didin order to sidestep both TypeScript and tslint.
I'm not sure how to resolve these issues, since I'm unfamiliar with the codebase and have never used phantomjs or qunit. I tried to look into the first two, but didn't really get very far. Any suggestions?