Commit graph

149 commits

Author SHA1 Message Date
Thiemo Kreuz c57fe0f2b6 Get rid of all var … = function () {} declarations
… and replace them with more trivial `function …() {}`. I
believe this does not make any difference. But I feel this
makes the code a little more straightforward.

The motivation for this patch is because a few other patches
change some of these function declarations, leaving a (in my
opinion) confusing mixture of styles behind.

Change-Id: Ib8928c4176a963afcf1fee1c785dd7bdc86c9706
2020-11-12 19:23:40 +00:00
Svantje Lilienthal 3726c47ad2 ported tooltips.feature from ruby to node.js
Bug: T267204
Change-Id: I76f71532030afc6f12b29f117e5161b40c2f9cd1
2020-11-11 17:45:27 +00:00
WMDE-Fisch 69bf1e0dea Try with a minimum set of revisions for timeline test
Reducing the width further leads to a strange behavior were it fails.

Locally this test is about 30% faster this way.

Change-Id: I5f950041ccf0f2f326ad6d9023d300e6a344f902
2020-11-09 15:34:06 +01:00
WMDE-Fisch 4734f69efb Reduce some test revisions to minimum needed
Change-Id: I12572558a47824de284904bc24dd940281b689a9
2020-11-09 13:48:16 +01:00
jenkins-bot 08276faacc Merge "Remove redundant TODO for revision bar click tests" 2020-11-09 12:23:52 +00:00
jenkins-bot 14a654bb96 Merge "Rewrite fragile wait" 2020-11-09 12:23:51 +00:00
jenkins-bot 121fbc4734 Merge "Improve dragPointer methods and use them in history spec" 2020-11-09 12:01:00 +00:00
jenkins-bot 79ff26da88 Merge "Merge methods waiting for loaded slider" 2020-11-09 12:00:58 +00:00
Adam Wight 91772fa904 Remove redundant TODO for revision bar click tests
These are already covered by history.js

Bug: T267206
Bug: T165831
Change-Id: Ic133df6e1ba398180eb3e9d8c0e3a6d6c4997a10
2020-11-09 11:47:16 +00:00
WMDE-Fisch 457661419a Improve dragPointer methods and use them in history spec
Change-Id: I9cf69c116e20eb34e5502c1886a05230eeb2697e
2020-11-09 12:40:28 +01:00
Adam Wight 32c920c240 Rewrite fragile wait
Directly measure the jQuery animation using its custom
pseudo-selector.  Previously, we had been relying on a side-effect.

Change-Id: I0db8077e9ed86d5be025d089e0467654789bb13f
2020-11-09 11:38:47 +00:00
WMDE-Fisch 5537fb963b Merge methods waiting for loaded slider
Change-Id: I06009d372c0691d2db8356e8cd7e7e8653ff51a0
2020-11-09 12:36:35 +01:00
Adam Wight 0c9ef9d88f Port timeline browser tests to js
`aria-disabled` is a bit of a hack, but maybe more robust than
coupling to the OOUI internal class name.

Bug: T267205
Change-Id: I5c1f547f2d25d9acaa74d63da03cd215be82bd71
2020-11-09 12:04:36 +01:00
Adam Wight c9f9023873 Move loop into browser code
This seems to be much faster.

Change-Id: I6caafd5a38c0dd319b8518538663862fb8d7cec8
2020-11-09 11:44:12 +01:00
Adam Wight 11bf368fc1 Port pointers browser tests to js
Bug: T267206
Change-Id: I7419c49786de87e4dd228af9bf281f6fcf061a88
2020-11-09 11:35:48 +01:00
Andrew Kostka eb09ac07b9 Port difflinks Ruby selenium tests to NodeJS
Bug: T267199
Change-Id: I357927144c42e67cc449fd1b9ce73ecd770c1481
2020-11-09 09:53:09 +00:00
jenkins-bot 0762782b21 Merge "Compatibility with standalone chromedriver" 2020-11-09 09:49:33 +00:00
WMDE-Fisch 5a8f3bce94 Port history Ruby selenium tests to NodeJS
The numbering in the content of the test revisions was slightly changed
to fit the data-pos attribute numbering in the revision tags.

Note that this is not completely cleaning up the step_definitions
from the Ruby tests. This will be done in a follow up after all
tests are ported.

Bug: T267201
Change-Id: Ifa25b881c6aa1e94a934532606c944a33f5648dd
2020-11-09 10:06:33 +01:00
Adam Wight 09ed1f05fe Compatibility with standalone chromedriver
I don't understand how others are running the tests, but I need this
configuration in order to run.  They also appear in the
mediawiki/core wdio.conf.js .

Bug: T180247
Change-Id: Ic75bac41e0bf3cda3b23a4489e02f1dde2300740
2020-11-06 12:04:17 +01:00
WMDE-Fisch c40f44cf2b Port expand Ruby selenium tests to NodeJS
These test do not add much value. Expanding the interface is an
essential step done in all other tests. Therefore the only test
ported is manually collapsing the interface.

Note that this is not completely cleaning up the step_definitions
from the Ruby tests. This will be done in a follow up after all
tests are ported.

Bug: T267198
Change-Id: I7beabc1a91f22dc8b7094318bf90684a3deb63f7
2020-11-05 07:34:21 +01:00
WMDE-Fisch 27e871c17b Port autoexpand Ruby selenium tests to NodeJS
Note that this is not completely cleaning up the step_definitions
from the Ruby tests. This will be done in a follow up after all
tests are ported.

Bug: T267198
Change-Id: I75baea2bd104666ba7f6a15ba79e10f7967cddb3
2020-11-04 17:04:17 +01:00
WMDE-Fisch 1d024b83ae Use a more generic function to add revisions
Change-Id: Idfebaa5c26e3b13266c6a82f7f851291d8eef30a
2020-11-04 13:49:30 +01:00
WMDE-Fisch c36d96418d Remove unneded awaits
Change-Id: I05101080d0bc4d984244d450394a19e7566ca240
2020-11-04 13:41:30 +01:00
Adam Wight ddcd65f4de Migrate Pointer to packageFiles
Change-Id: I8e06c9eeb47688741a95bca8f996b2148b03028c
2020-09-21 18:14:07 +00:00
jenkins-bot 1e13c311e8 Merge "Migrate HelpDialog to packageFiles" 2020-09-21 07:21:33 +00:00
Ed Sanders 49d6f1ef8f build: Update eslint-config-wikimedia to 0.17.0
Fix instances of variable shadowing.

Change-Id: I9f8d4dcab8cb400d04600e7bb543ddda2705d1df
2020-09-11 16:28:52 +01:00
Ed Sanders eaa7966710 build: Update eslint-config-wikimedia to 0.16.1
Mostly documentation style fixes

Change-Id: I75262aead377f7f41931de44c5208b7b7d06930d
2020-06-16 15:13:36 +01:00
vidhi-mody 94b952e78a Selenium: Update to WebdriverIO v5
Update NPM packages: webdriverio, wdio-mediawiki.
Update ESlint configuration.

Replace NPM packages:
- wdio-mocha-framework with @wdio/mocha-framework.
- wdio-spec-reporter with @wdio/spec-reporter.

New NPM packages: @wdio/cli, @wdio/local-runner, @wdio/sync.

Replace:
- `browser.element` with `$`.
- `chromeOptions` with `'goog:chromeOptions'`.
- `password` with `mwPwd`.
- `username` with `mwUser`.
- `waitForVisible()` with `waitForDisplayed()`.
- `moveToObject()` with `moveTo()`.

Bug: T250601
Change-Id: I2c2e79800433eb964368d932954def69af936195
2020-05-24 01:21:04 +05:30
Adam Wight c9958c5edd Migrate HelpDialog to packageFiles
FIXME: Reusing HelpDialog as a module entrypoint creates a circular
reference.  It's harmless because the dependencies are added at
different times, but also easy to refactor away.

Change-Id: I3608a78baddf2376cc9eb4524625f4911c130c06
2020-04-05 01:50:48 +02:00
Adam Wight 17ab004262 Fix test module copypasta
A few modules had wrong (duplicated) names.

Change-Id: Ib2ff195ee458a23d01e25a6cb1ff1b573dd9999a
2020-03-29 23:23:48 +02:00
jenkins-bot 2cc1c8617a Merge "build: Update dependencies and make them pass" 2019-10-24 06:56:48 +00:00
WMDE-Fisch 5c77b477e6 Use waitForModuleState from Util class
Change-Id: Ida52cf73686a1cc5af5ab955ef30daf15a2ec68a
2019-10-23 17:50:21 +02:00
WMDE-Fisch 8c9632385d build: Update dependencies and make them pass
Change-Id: Ia7764d44d7fbc8bf5c03e80887b58031a0de5d86
2019-10-23 17:46:39 +02:00
Amir Sarabadani 111d108150 Merge some resource loader modules
Each RL module comes with the cost of its name + hash being sent over every
request and in the startup module increasing the time to load the page.

Bug: T229791
Change-Id: I3ae230a84112a70ab369ffbff70e173b8f07ec1a
2019-08-14 23:10:25 +02:00
WMDE-Fisch 9e73c7d2c1 Fix re-highlighting of revisions
This was broken for obvious reasons. Also adding a test.

Change-Id: Ib6e8988884ff84472928758d4112574e17fa48be
2019-04-25 11:15:14 +02:00
WMDE-Fisch 1a18ab3d38 Add a few more selenium tests for the filter options
Change-Id: I7bb14987e2f2ef452953fb2b71aae7f697a4d820
2019-04-12 11:08:49 +02:00
WMDE-Fisch a2ca2c031e Add node selenium tests for revision highlight feature
The patch adds a first package of node selenium tests including
test for the user and tag filters.

The classes for user- and tag-rows were re-added to have better
access via selectors.

Change-Id: I8c53d9c923820e177d83ee900cee08e93cd3f65b
2019-04-11 17:58:53 +02:00
Kunal Mehta 46e2f60fec Remove empty tests/phan directory
tests/phan/issues is no longer populated, and stubs should be in .phan/stubs
going forwards.

Change-Id: I238ff73939c5b1b79594c8a043c4fe7082f93a65
2019-03-23 23:02:22 +00:00
gopavasanth 197bd4c7b3 Upgrade RevisionSlider to use newer phan
Bug: T216939
Change-Id: Icecfd92783dbe956133b2e63eeb6717fc1466cc0
2019-03-03 12:06:21 +05:30
Ed Sanders e62f46dd80 Remove obsolete aliases from closures
Bug: T208951
Change-Id: Icf10ea6bbc09542e69c0cd583a4ee4f2f76a3f43
2018-11-16 16:33:52 +00:00
Ed Sanders 351bdcfae7 build: Update linters
Change-Id: If21c9dbeba945d54c6bcf9b6e4edd586c5b411ca
2018-09-13 21:58:39 +01:00
Thiemo Kreuz 48396b78c7 Rework and cleanup ext.RevisionSlider.DiffPage code
This is a direct follow up to the change done in I885f8e7. I found the
code very hard to read after the change, and tried to rearrange it a
little bit. This is what I came up with. What the code does is entirely
untouched.

This also rearranges the replaceWith calls so the replacements are done
from top to bottom.

This patch also avoids calling mw.config.set multiple times.

Change-Id: I1cbce8e8aa030d6ba5cd7d19ab26fa363e13474b
2018-09-04 10:52:16 +02:00
WMDE-Fisch af276e0f7f Re-enable testing bar clicking
Change-Id: I23f192cf47e2ff94521733f8b1b056152d5ad0fe
2018-08-14 11:25:40 +00:00
WMDE-Fisch 187e1e5194 Stabilize ruby selenium browser tests
- added sleep to let scripts load
- changed cookie setting to use vanilla JS
- replace deprecated visible methods
- fixed element definitions
- fixed indentation
- removed unused code

Change-Id: I21047f7c529eee7e22f84fe1023c9e23b74cffa0
2018-08-14 07:52:22 +00:00
Thiemo Kreuz 407c1de800 Use cookie to dismiss help dialog and fix failing browser tests
I have seen this failing:
https://integration.wikimedia.org/ci/job/mwext-mw-selenium-jessie/9255/console

The idea is to pre-set this cookie so the help dialog never shows up
in the first place. The tests do not need to look for the element, click
it, wait for the dialog to close. This should even speed up the browser
tests, I believe.

Also this adjustes waiting conditions in several places to address
timing issues with failing browser tests.

Since these tests should be replaced by Node.js on the long run I
added "sleep" in the cases although it's not recommended.

Change-Id: Ida381faa390aa62ebaadd3713864676be80abd51
2018-07-03 16:44:28 +02:00
Kunal Mehta 6d3d69c6d5 Migrate to mediawiki-phan-config
Change-Id: Id0175a253802650a740c071e86691334e282e3d7
2018-02-15 13:19:55 -08:00
libraryupgrader ce352749bf build: Updating mediawiki/mediawiki-codesniffer to 13.0.0
Change-Id: If7e2cece08c3c99d7acd5617abfb8368ec699d0f
2017-09-24 12:30:47 +00:00
Addshore b86be90b06 Reintroduce improved hover and bar clicking
This patch mainly reintroduces the option to click on bars and move
the pointers with it. To do this, 'ghost' pointers are introduced
to show what would happen when bars are clicked. The pointers moved
differ depending on where the user clicks on a bar. Pointers are
still not allowed to change positions, so in some cases booth pointers
move with one click. See the task description.

The patch also includes some renaming and also refactoring of the
click handling in general. Furthermore bar hover mechanics are handled
by the RevisionListView class now.

Moving both pointers is not possible when it would push one of them of
limits.

Bug: T172092, T173566
Change-Id: I32a8256f7667e03081324d54accdf03a17454faf
2017-08-29 09:19:13 +00:00
Ed Sanders b1f2613d79 Use core wgDiffOldId/wgDiffNewId JS config values
Newly introduced in a469795efc5bc1c585c9f84ee289ee099833661d.
This will require MediaWiki 1.30.

Change-Id: I9897a77b24e258bf037f8ec6cafa1d0684bf867d
2017-07-18 16:16:05 +00:00
WMDE-Fisch 4a9ee131d3 Refactor pointer class names
Pointers can always be identified as the pointer for the "older" and
"newer" revisions. Class nameing was cleaned up and changed accordingly.

Change-Id: Id17878e780b5a405b196fdc5ec7429eeaef5bd4c
2017-07-11 10:17:24 +02:00