Update the package responsible for running tests, grunt-contrib-qunit.
The package change includes a significant bump to the puppeteer version used to run the tests (from v9 -> v19: https://github.com/gruntjs/grunt-contrib-qunit#release-history).
Running the tests with the newer puppeteer version leads to issues running the FullScreen test when run in the 'old'/current default headless mode (the test fails with a timeout).
Updating to the 'new' headless mode (eventually to be the default anyway), seems to allow the fullscreen request to succeed.
Thus, go ahead and extend the FullScreen test to verify the correct values for a successful request, as well as an additional step to exit fullscreen mode.
Add a `catch()` rejection of request for fullscreen (standard Fullscreen API implementation), as well as fullscreen exit. For now there is no actual handling, but we send a message to the internal error channel.
Motivation: The fullscreen request was causing certain tests to fail when run with newer versions of QUnit (starting in 2.5.0), which now fails tests that have unhandled Promise rejections (as we did here).
The exit case is not currently covered by tests, but works the same way (also returns a promise).
See: https://fullscreen.spec.whatwg.org/#ref-for-dom-element-requestfullscreen%E2%91%A0
Bump ESLint's parser options to support ES6 syntax, which allows developers to start using a number of features associated with modern JavaScript.
Doing this now that #2286 has been marked as resolved, since IE 11 support was the last known blocker for such changes.
Update to most recent version of QUnit, which has been published under a new name for a while now.
Accordingly, replace the old package with the new one in both dependencies, as well as update references in test HTML files.