* Improve PHPDoc documentation.
* Add some missing language-level type declarations.
* Remove unused code.
* Avoid count() when the code doesn't care about the actual count.
* Use the short ??= operator where possible.
Change-Id: I79de49b65d32661b7efa67ecc350276968943e11
The default doesn’t seem to work well in CI. (Note that cypress/.cache
is already in the .gitignore.)
Bug: T361520
Change-Id: I7e56d102ac2252a23b49c68f9df8940d5c060aa9
Flaky parts have been fixed with the patches chained before. See
the stress test patch Ie32019ca65194e0ca94471d797b59b150d3334c4
Bug: T360026
Bug: T360361
Change-Id: I421a7718fcf77136a65bf8bd20f2c2fcd483fa3c
Introducing a little helper function that retries clicks until
some element becomes visible.
Bug: T360026
Change-Id: I45b7802c8009b9b552b41c1fcaf861f2a7afb495
I missed this spot in I321b4114ca03ebd02a79d8bd3863ea0e68494dc2
This should stabalize the remaining tests failing in the stress
test.
Bug: T360026
Depends-On: Idbf87178e9ee961e84a6e212dbadb0f36a1c8197
Change-Id: Ic41fbd9da24c3bba7eec3d1429731b2cc6665404
I find this particularly confusing because it makes it look like this is
an array. As a reminder, while empty arrays are false in PHP they are
not in JavaScript. An extra `if ( array && array.length )` is really
critical. But this is a string. Empty strings are false in JavaScript.
No problem.
This was originally written in 2013 via Ib244ff6 as a pure .length
check. The duplication was added a year later via Id401d97 for an
unknown reason.
Bug: T356871
Change-Id: Ied335f170a9a0a7bbc8c8fd12f95b6902f401bbf
This does two things:
* Some authors have used different email addresses over the years.
But it's the same person. Merging them makes e.g. git shortlog
much more useful.
* This also makes sure the author name before the email address is
always the same, and not listed multiple times because of e.g.
different capitalization.
Change-Id: Icdfd397a46369ffc40ac982a4382b19ad207957a
Note these are more meant as regression test to better cover what's
done in other patches. Everybody should feel free to delete a test
when it gets in the way. I marked a few especially fragile places
with respective comments.
Bug: T358652
Change-Id: I7844907fe3ef4f3439717381b4ecdac9e2d0a825
Please don't reenable until we have some confidence that these aren't
flapping.
Bug: T360026
Bug: T360361
Change-Id: I54f80e31b4fca4c1c4632af1d43e22a88ae5f218
We don't need to setup a fresh page on every test when we're not
manipulating the page during the tests. This will make test run
faster overall.
Change-Id: I4f41f0bf7b01f5a8498fda4827b90c9976cbd528
When the tests run into an issue and are re-run only beforeEach
will be executed. Also cookies are not kept for the re-run.
This patch makes sure that steps needed to have a clean re-run are
split to the beforeEach
Change-Id: I47cba7f6ec240fefa09a4484bca0a621b99f2bcb
We need to wait for the UI to be finished loading before we can
interact with it. Here I implemented how it's done in the VE
selenium tests. They seemed to have similar issues with flaky
tests before they introduced what I use here now.
See I321b4114ca03ebd02a79d8bd3863ea0e68494dc2
Bug: T360026
Change-Id: I91bc104ef7af4c74765c2c354eeadeacef162309
Might help in some edge cases where elements need just a bit longer
to load and be available.
Bug: T360026
Change-Id: I60176435963c708d13ce7fd3e0691cb6e7a35fb1
There is currently no test coverage for recursively parsing the
contents of a <ref>…</ref> together with an incomplete follow="…".
This is critical because that's an entirely separate, special code
path (the one that creates a <p> instead of an <li>). Without this
test we could return unparsed wikitext and never notice.
I discovered this while playing with I0b0e358.
Bug: T245549
Change-Id: Ie65c6bf6bf75db26e0fff733c93cfa28ee7bd228