Updating 'svgo' to v2.8.0 and newest Wikimedia SVG guidelines –
mainly around new whitespace features of SVGO.
Change-Id: Ibaf67b1178225c19a80dcba6a9ebbcf8964cbe8d
Highlights from release notes at <https://github.com/qunitjs/qunit/releases>:
2.18.0:
* New `assert.propContains` for partial object comparison. (Izel Nakri)
* New `QUnit.hooks to globally add beforeEach and afterEach. (Timo Tijhof)
* CLI: Add support for watching `.ts` files when using TypeScript.
2.17.0:
* HTML Reporter: Add "Rerun failed tests" link. (Jan Buschtöns)
* Improve validation of `assert.throws`. (Steve McClure)
Depends-On: Ia98a60166209646cc641d45a1ece62c131bcbcd0
Change-Id: Ia8ce57fa72ced8286f3e74b0b991e33e24a88850
If the project name isn't set, then `npm install` picks a value based on
the directory name. If that isn't "core", then package-lock.json will
overwrite the name property. Not a big deal, but may as well make this
consistent for everyone.
Change-Id: Idab76ffed4cd11fbc1659f090d51ffb3d43a96c5
Update npm packages: @wdio/* and webdriverio.
The update is need for WebdriverIO async mode to work.
Bug: T274579
Change-Id: I386d3d1d031f92cd67fad4b6746c6489110dfb80
WebdriverIO has dropped support of sync mode due to breaking changes in Chromium, hence all tests have been changed to async.
Bug: T293071
Change-Id: I15347b789f11de84b764e13a3981545ed6759881
* Replace `substr`/`substring` with `slice`. The second argument
to `substring` is length, not end index as in `substr`/`slice`,
so convert where necessary.
* Replace `new Date().getTime()` with `Date.now()`
* Documentation fixes
* Replace `throw Error` with `throw new Error`
Change-Id: I532500ea4c99d8ebec01efb21273c8df21626e59
Highlights from release notes at <https://github.com/qunitjs/qunit/releases>:
* Added `assert.true()` and `assert.false()` methods.
* Added `QUnit.test.each()` method.
* Added fuzzy search filter as-you-type to the UI.
* Fixed HTML UI to increase contrast and use richer colors overall.
* Improve the "failing test" experience.
Change-Id: Idebf075b4b2be4c73807fd8ba398662240e6c268
Just disabling the `declaration-property-unit-disallowed-list` failures
for now, but it looks like at least most of these could be switched over
to ems without breaking anything. For another patch!
Change-Id: I9220334d670f71eba1b0e392da826036d54bc2f3
These files are already linted by 'npm test'. For running only the
tests, there is no need to lint them first. If there are critical
syntax errors than Node will report these in a useful way either
way.
For quick feedback on the right style during development, one can
use an IDE plugin that provides it even quicker.
Alternatively, one could use 'eslint path/to/subset' to run only the
lint step. I've added a 'npm run lint' command to make this easier,
e.g. when iterating on the style for contributors without an IDE plugin
that want to confirm all lint failures from CI were addressed.
Change-Id: Ic09de49543e50cb5ade241b45741fbdb397f9954
Unil 2020-06-15 we were using Xvfb+ffmpeg to record videos.
In eed975d we have switched to wdio-video-reporter npm package.
It has never worked very well. It does not really record videos.
It creates screenshots and creates videos from them.
It does not record modal popups. Sometimes, it doesn't create a video
for a test at all.
I think it's time to switch back to Xvfb+ffmpeg. It has worked well. The
reason we moved to wdio-video-reporter was that it worked on all
platforms. That's not really important any more, since Xvfb+ffmpeg works
in a Fresh container.
Bug: T253113
Change-Id: I221775208576b6496f682ceefd6e6334db488bd4
The jobs are running a subset of tests. (Tests containing string
`@daily` in the name.) To find the tests we are using
`--mochaOpts.grep` WebdriverIO command line option. The filter is
executed after the tests have already started. Since some test files
have no tests with string `@daily`, they are skipped. That results in
JUnit reporter creating a couple of empty XML files. Jenkins thinks
empty files are failures and fails the build.
This commit creates a suite of files that have tests with string
`@daily` and runs only those files.
Bug: T281505
Change-Id: Id844da81feac49f2a2b6820e98ead98d7e932e9f
Devtools Service is "A WebdriverIO service that allows you to run
Chrome DevTools commands in your tests".
It was introduced in 2019 (1955a8a) but we are not using it.
For more information see:
https://webdriver.io/docs/devtools-service/
Bug: T280334
Change-Id: I718bd5bbcff56c294025f9e3f2fb3de67e1ed9c6
Also remove selenium NPM script that calls the file.
There was a time when both the file and the script were used.
As far as I know, both the file and the script are no longer used.
Selenium tests are now using selenium-test NPM script, both in
core and in extensions and skins.
Bug: T270419
Change-Id: I817f64b6d0a0efd64cd3fd9334e51336ceb9865f
b8a2e21 removed hard-coded values for environment variables from
wdio.conf.js. That caused a couple of Jenkins jobs to fail because
MW_SCRIPT_PATH environment variable was not set.
This patch adds the variable to selenium-daily NPM script, executed by
the failing Jenkins jobs. The alternative is to add the variable to the
Jenkins job configuration.
Bug: T269755
Change-Id: I3c65db297b28449f000a8a79978ba777782f5ffa
Removed default values for MEDIAWIKI_USER, MEDIAWIKI_PASSWORD, MW_SERVER
and MW_SCRIPT_PATH in wdio.conf.js in order to use values from the .env file.
Bug: T247312
Change-Id: I728c705b476f7741982d7e7c3e0ed219f2fcd054
wdio-video-reporter resolves some important issues
related to not attaching non-jsonwire events to
screenshots. For more info refer:
https://github.com/presidenten/wdio-video-reporter/issues/45
Bug: T253113
Change-Id: Iecb156aec2106e92c66c78005866a7b77571b26f
Add a property to the 'tags' object in the /user/{name}/contributions
REST endpoint named 'display' which shows the display
HTML for the tag which is either defined in i18n .json
files or overriden at MediaWiki:tag-$name
Bug: T259716
Depends-On: I57e2a7253944a3fde3f52f52bbf5fe8473c8a415
Change-Id: Id755adcab8b0115e19df2a6046643ebe97881e28
The endpoint for user contributions should include change tags in the
result. Bump the version of npm module api-testing.
Bug: T252202
Change-Id: Iccc0c378bc65d0f34b38557f4c78f424d95a951f
Earlier versions of WebdriverIO lacked support for video recording.
Starting with WebdriverIO v5, a new package wdio-video-reporter
has been introduced which is used to replace ffmpeg and Xvfb.
Limitations:
- Alert messages and pop-ups do not get displayed in the videos.
New Packages:
- wdio-video-reporter
Bug: T255253
Change-Id: Id443779959bfac55eae42e16e10d1f20c25375bb
This is part of a chain of patches to complete the REST User Contributions
endpoint. This change returns a list of the 2 (hard-coded for now) most
recent revisions for a given user.
Package.json was also updated for new api-testing module (v 1.1.0)
Bug: T252202
Change-Id: I42a5dfc0e1ff7600848e89ac2c4b002e8a3612df
This reverts commit babbbbc6e5.
Reason for revert: Video recording only works with WebdriverIO v5. It doesn't work with v6.
Bug: T252523
Change-Id: I5dd0bb5ef03bcf5337207c63d26755e983634787
Earlier versions of WebdriverIO lacked support for video recording.
Starting with WebdriverIO v5, a new package wdio-video-reporter
has been introduced which is used to replace ffmpeg and Xvfb.
Limitations:
- Alert messages and pop-ups do not get displayed in the videos.
Bug: T252523
Change-Id: I6c964467066eb30e28a3435ddf7831a4e296b8f5
Was first attempted in f1eaa06d5e,
and reverted in 0b3fe4fe8c. Now this
is done in eslint-config-wikimedia for all repos.
Change-Id: I9ee735eef40085b6373b565838d67e186e438657
This reverts commit f1eaa06d5e.
Reason for revert: accidentally allowed ES6 syntax.
Looking for a way to redo this that doesn't break our linting as badly.
Change-Id: I78974b97001bdbea9aff5717c69d71b8a2582ade