Commit graph

181 commits

Author SHA1 Message Date
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
jenkins-bot ac5e6de6f4 Merge "Add jQuery reference to modules using it" 2017-07-06 14:31:29 +00:00
WMDE-Fisch edfd885543 Remove last SliderViewTwo parts
Bug: T165747
Change-Id: I9ac410613361e567bd825f096eb12bbb3edc5cde
2017-07-05 10:22:33 +02:00
WMDE-Fisch fc5c13f359 Merge draggableDragAction and dependencies
Also temporarily deactivate browser tests for bar clicking.

Change-Id: I347533ef445cb3c37e420beebcc79919e56a1223
2017-07-04 10:56:40 +00:00
WMDE-Fisch 64bf845aef Add jQuery reference to modules using it
Change-Id: Icf5ff3459978b7c7a5fa8e24b42981e789bcc492
2017-06-29 10:14:27 +02:00
Andrew-WMDE 80ab1408ac Remove BetaFeature Code
Bug: T167276
Change-Id: Iad2e34e2f906777c7ba0e22e245dc55891f211ae
2017-06-23 14:45:48 +02:00
WMDE-Fisch 0525f0bdb2 Do not assume that revIds increase in time
This patch fixes issues with the RevisonSlider assuming that the higher
revision id belongs to the newer revision. Min/Max methods to decide what
the diff and what the oldid is are removed and the usage of methods is
adjusted accordingly.

Also the test for switchover pointers is removed since this will not work
with the patch.

Bug: T164455
Change-Id: If5d9cbb8ebd872aee376d249942e6881c8edb984
2017-06-01 18:29:22 +02:00
WMDE-Fisch 72d19630ad Let revision bars leave space for the pointer line end border
The end border for the pointer lines can not be displayed because the
bars on the biggest revisions used all the height. This patch reduces
the max height of the bars slightly and refactores the calculating method.

Bug: T163436
Change-Id: Idfa6bdb9f85221063e13f3ec16b22fcfbe6cbd9c
2017-04-25 15:29:18 +02:00
WMDE-Fisch a79fd1624a Fix phan checks
Phan now can run and pass without BetaFeatures extension beeing installed.

Change-Id: I0bb8433fc9f882ff8e021785aba78f707cec00a1
2017-04-06 09:24:36 +02:00
WMDE-Fisch 268944a0b3 Remove browser tests for beta feature setting
The browser tests do not gain very much from the beta
feature tests and the default setting having the extension
only availible as a beta feature slows down the tests in
general.

Furthermore removing this will make it easier to let tests
pass for the temporary change in the slider logic.

Change-Id: I7377a6f11aa103af76d14fea3cbb34572495192a
2017-04-05 11:24:40 +02:00
WMDE-Fisch b0227f24b4 Renamed firstVisibleRevision to oldestVisibleRevison
The meaning of first in this context was totally unclear and not
very usefull. It turns out, that the "first" revision is always
the oldest and the last is always the newest revision.

Change-Id: I009438777908a5f4a8833f8f5cb7d3041057741c
2017-03-27 21:04:31 +02:00
WMDE-Fisch 8e361bcb36 Fix failing browser tests with new OOUI
Change-Id: I1c7c2511b3690e48c51ff1ca65a99c71185d3793
2017-03-22 14:13:01 +01:00
WMDE-Fisch f5e5c7a19c Increase browser test stability
The last times tests failed randomly at that point. The should
inrease stability there.

Change-Id: If679fc52cc501680b0f3feb6c27e3827a8b6fc6e
2017-03-21 13:35:02 +01:00
WMDE-Fisch 89b1f8a4da Rename CSS classes for help text
The is now consistent with other CSS naming and MW rules.

Change-Id: I4bcffe2d22692d1784ebb53c49f49c94f412486f
2017-03-16 15:53:39 +01:00
WMDE-Fisch edd9ed4dcb Add rubocop rules and make it pass
Change-Id: Ie0f7ea20c9f79a005a253b41c120ed40d884a1b8
2017-03-08 12:24:05 +01:00
jenkins-bot 7f851a48ca Merge "Refactor usage of OOjs UI tooltips" 2017-03-04 17:21:37 +00:00
jenkins-bot 159b2d4290 Merge "Update tests to Selenium 3" 2017-03-04 17:13:24 +00:00
WMDE-Fisch fbac5c69a4 Refactor usage of OOjs UI tooltips
This patch changes the way OOjs UI tooltips are constructed.
Until now we did not use the full potential of the widget.

Some strange behaviour remains and it seems we can not use
'horizontalPosition' here. Therefore the direction is passed
down to the RevisionsListView to center the tooltip manually
and margins are set for the help and arrow tooltips.

Bug: T159428
Change-Id: I0a67340da4d94f2f6b29e507f94fc695b44b71f9
2017-03-03 14:31:07 +00:00
WMDE-Fisch dc02babd02 Increase default timeout
Improving test stability

Change-Id: Ic6fe9e55ad7d8c5e8a5a8e616f3f16ca6ea5b732
2017-03-03 09:59:57 +01:00
WMDE-Fisch 12e6631dde Update tests to Selenium 3
The waitr click on the checkbox seems to be broken or is broken with
intend since the actual OOUI checkbox has an opacity of 0.

Additionally when_visible fails when the element is not present yet.
The the way to go here seems to wait for the element to be there
and then check for visibility.

Also made use of PageObject method for checkboxes, the name selector
and the link element.

Bug: T158074
Change-Id: I2c3d6d963c8bcdc420bfbc57c1c2380bce7ef2f1
2017-03-01 17:26:12 +01:00
addshore ce4bc18569 Attach to Newer / Older edit links
This now attaches the revisionslider to the
older and new links that are by default in the
diff.

This means when clicking them the revision slider
will use an ajax call to reload the diff (while moving
its own pointes) rather than reloading the whole page

Change-Id: I11fa92828140f980ca8edee27403a4e2a5f5a6a7
2017-02-03 15:06:20 +00:00
addshore 7d1d445417 Remove redundant phan exclude_file_list check
Change-Id: I12a1486ea034c5372516dbf77b1e19e9df078d4f
2017-01-20 15:02:14 +00:00
addshore 20e0d5a779 Add Phan config
See: https://www.mediawiki.org/wiki/Continuous_integration/Phan

Change-Id: I2e870d3e8994025e19d47a32b1ff229fbf2695bf
2017-01-04 11:02:04 +00:00
Tobias Gritschacher 233b69ccbf Check if QUnit tests are language-setting-proof
Change-Id: I6ed0cc013db676a587f734c1f35f117525405db7
2016-12-20 14:44:56 +01:00
Tobias Gritschacher f81d65bf6d Revert "Reset custom separator transform tables in number formatting tests"
This reverts commit b46c105202.

Checking if this was fixed by changes to core.

Change-Id: Ia8dcae5227163edd5911cd1ea3c1b0213f7e654d
2016-12-20 13:23:33 +00:00
Leszek Manicki b46c105202 Reset custom separator transform tables in number formatting tests
Looks like custom settings used in a test for number separator
transformation added in Icc9bc09675151645055c7e7f706472a15cc81b0f
influenced RevisonSlider's tests resulting in test failure if
that core test was run before RS test.
Relevant RevisionSlider tests now are ignoring any custom value.
Any value before the test is restored after the test run, though,
in case other tests relied on this (which does not seem to be a case).

Bug: T153121
Change-Id: Ida81b93e4d081b6948e760995a92d182ad79fe0f
2016-12-14 11:23:28 +01:00
addshore 2cf768f7b7 Lazy load most of the JS
With the parent of this commit (current master)
Loading the RevisionSlider JS without it expanded increases
the request size by roughly 767KB on first request and 242KB
on subsequent requests.
The large size of the first request is mainly down the to
dependancies of the slider.

This lazy loading patch means the RevisionSlider JS
only causes an increase of 184 KB per request.

If the user has the bar expand by default the main JS will
be loaded straight away (and the lazy JS will not be).

This patch also means that when only the bar is loaded the
pin button to set auto expand will not be shown.
This will be added once the RevsionSlider is loaded.

Bug: T151668
Change-Id: I054a82e9ea2aa89326464632e744497239f7adba
2016-11-30 11:59:16 +01:00
Ed Sanders 1c3ef546ad eslint: Remove old jshint/jscs refs, fix exceptions
Change-Id: I56b9f037405d0f93f82dc81dad1cc1b111be338e
2016-11-19 13:37:20 +00:00
James D. Forrester 3269f791f5 build: Bump eslint-config-wikimedia to v0.3.0 and make pass
Change-Id: I774e05c4393eca8b4719f335a124efcb3d2a6dd5
2016-11-15 16:48:38 -08:00
Tobias Gritschacher 518aea3ead Clean-up browsertests
- add Gemfile.lock
- use recent version of gems
- ditch README and link to wiki documentation
- clean-up environments

Change-Id: I76bb1d491911abbc0c0bb4387b436ab3ff2cebc2
2016-11-14 12:07:41 +01:00
Tobias Gritschacher d079937e43 Fix browsertests README
Change-Id: I4ec4c22a69b4cf896b0f5a719f47ea84b7faaec3
2016-11-09 13:33:29 +01:00
Tobias Gritschacher 69e3a7dd6e Fix selecting betafeature in browsertests
this broke due to https://gerrit.wikimedia.org/r/#/c/315850/

Bug: T148841
Change-Id: I8997ec6d8bb210b87bb984a8f6aed2ba10dbd3f6
2016-10-21 17:29:01 +02:00
Tobias Gritschacher f3a239aa24 Refactor timeline browsertests
- Applied the Given-When-Then rule
- Added separate accessors for disabled arrow elements

Bug: T146276
Change-Id: I0278ef607f96851ed69e7373b952f5d02139cb0c
2016-10-13 15:22:57 +00:00
Tobias Gritschacher 3ca7099cc6 Refactor tooltips browsertests
- Applied the Given-When-Then rule

Bug: T146276
Change-Id: Ie9eb48cafd85ef7a00c9d9f9fd626fab5f128824
2016-10-13 15:22:46 +00:00
WMDE-Fisch a111213d36 Wait for pointers to finish moving in browsertests
This will avoid checking pointer data prematurely when
they are still moving and the diff was not reloaded yet.

Change-Id: I3c29a43940e40b7c338a00b3520e5aa6b237ea4a
2016-10-13 16:41:19 +02:00
Tobias Gritschacher 5553fe0688 Remove obsolete step
Bug: T146276
Change-Id: I9b1b8e2aa87b88bd18d58a46834e6090284314ee
2016-10-12 11:48:06 +02:00
Tobias Gritschacher 722242a600 Refactor history and pointers browsertests
- Applied the Given-When-Then rule
- Created alias for the "diff-has-loaded" step for readability
- Created higher-level step for loading the revisionslider
- Added assertions where missing
- Added ability to click the upper or lower area of revisionbars

Bug: T146276
Change-Id: Iad5abbb6e73a31afad1e2058b26ece3fbc7ad942
2016-10-12 10:46:24 +02:00
Tobias Gritschacher c2f4b64a3a Refactor help browsertest
- Applied the Given-When-Then rule
- Created alias of "close-help-dialog" step for readability

Bug: T146276
Change-Id: Icc8aeb8720025bd3c6d6bc811713fac48a9919dd
2016-10-10 14:52:24 +00:00
Tobias Gritschacher eeedd58f56 Refactor expand browsertests
- Applied the Given-When-Then rule to scenarios
- Added alias for one step for better readability of scenarios

Bug: T146276
Change-Id: I08aabda113d6ad9f1bbf06161484143549b13a7c
2016-10-07 16:11:12 +02:00
Tobias Gritschacher c7781efd34 Refactor autoexpand browsertests
- Applied the Given-When-Then rule to scenarios
- Small renaming of steps

Bug: T146276
Change-Id: I873be448f9b472aa7438bf525f79c403e1346641
2016-10-07 15:57:58 +02:00
Tobi Gritschacher a3244e1805 Expand Revision Slider when user activates pin button
Bug: T145068
Change-Id: I26bd6d3cbd2e0da6e3d537431a45ef8193906c40
2016-09-13 16:05:01 +02:00
Leszek Manicki c745c917c3 Wait for auto expand button before checking its state in browser tests
Change-Id: I8b8e43f14f6e6aa2ee619d823f93fdfeabb469ac
2016-09-06 17:44:52 +02:00
Leszek Manicki 8e7fe2434d Add eslint, to be used instead of jscs and/or jshint
First I jumped on replacing both jscs and jshint with eslint but
it might be premature decision. Although linting with eslint
is possible (like in there is wikimedia config for eslint)
it is still not clear should it

But in case the change happens we will be ready.

Apart from config stuff this changes few bits spotted by eslint:
improves some indentation, removes weird spaces, completes some
doc blocks, changes IIFE forms in tests. These changes do not
seem controversial.

Change-Id: I9f8bf0f5745da8e662685f4cd879ea4baa609c01
2016-09-05 09:47:11 +02:00
WMDE-Fisch 2c6bd11eda Avoid errors when elements are not loaded yet
Introduced when_visible where it might be usefull to avoid
flacky browser-tests.

Change-Id: I2c8c58aae1bc859062395a1795513d445ecb37f8
2016-08-31 18:28:50 +02:00
WMDE-Fisch 2da20ba593 Simplify visiblity checks for tooltips
Change-Id: I2eba136a92054df7431dedb7a83f5af38f4d01e9
2016-08-31 12:47:18 +02:00
Leszek Manicki e55f28f877 Remove not need browser test helper method
Slipped in in Id561485344cba9b136666fe31b086151467de19e

Change-Id: Iba279cd7f1b09709ac3f316fa5b7c14a30256d4c
2016-08-31 12:27:39 +02:00
Leszek Manicki 6502728184 Add button to have revision slider expanded automatically
This adds a button which allows a user to make revision slider
automatically expand on each diff page (disabled by default).
User's choice is stored as a hidden user preference.

This is a bit hacky as it squeezes a button on top
of another button (100% wide expand/collapse button).
This also adjusts styles of ToggleButtonWidget so
the button looks more like a frameless button, although
it is created as a framed one (to have inverted behaviour
when button is in its "on" state).

The button only gets visible when Resource Loader finishes
loading JS and CSS to avoid button jumping around the top
of slider window before "right" styles are applied.

Bug: T142196
Change-Id: Id561485344cba9b136666fe31b086151467de19e
2016-08-30 13:57:12 +02:00
jenkins-bot 805b92dd1a Merge "Use moment.js's localized date and time format" 2016-08-23 10:19:07 +00:00
Ed Sanders 6c9e3e36a6 Fix loading state of diff page
* The jQuery for appending the 'darkness' mask was broken (not nesting)
* Use a more semantic name
* Simplify styling to just set opacity to 50%.
* Remove browser compatibility hacks as all MediaWiki's JS
  supported browsers also support CSS opacity.

Change-Id: Id893a75bb90a4e6e2e8a26ebc3863de565d8a4ee
2016-08-15 11:20:34 -07:00
Leszek Manicki 90d652adef Use moment.js's localized date and time format
Localized format of date containing month name, day, year and time
is used instead of format enforcing the order of time and date,
and use of short month name.

Bug: T141167
Change-Id: I39b2844e777beb986cefb3097d52d481bb038a63
2016-08-11 11:40:30 +00:00
Ed Sanders f6a44f43fe Convert the few instances of IDs to classes
Makes for more modular code.

Change-Id: Ic71d7421aea548e5b4a9c4841cd4af49a3d385a5
2016-08-10 15:32:12 -07:00
Leszek Manicki e243ca2746 Do not load RevisionSlider initially, add a button to show/hide it
Instead of loading RevisionSlider only add a little button
to expand RevisionSlider on top of the diff page.

This makes RevisionSlider only steal a bit of space over the
diff, and only inserts quite a big slider to users that want
to have it visible for the particular diff.

API calls are only made once RevisionSlider has been expanded.

This is re-submit of b0f229d75f
that was reverted in I26427faaa00b38c2aa1377a66224c9062dcca302.

Bug: T141871
Change-Id: I879de5774b2cce7b908e73cbbe869fd48d6afa23
2016-08-10 16:26:54 +02:00
WMDE-Fisch c5690ba763 Revert "Do not load RevisionSlider initially, add button to load it"
This reverts commit b0f229d75f.

Change-Id: I26427faaa00b38c2aa1377a66224c9062dcca302
2016-08-09 16:34:53 +00:00
Leszek Manicki b0f229d75f Do not load RevisionSlider initially, add button to load it
Instead of loading RevisionSlider only add a little button
to expand RevisionSlider on top of the diff page.

This makes RevisionSlider only steal a bit of space over the
diff, and only inserts quite a big slider to users that want
to have it visible for the particular diff.

API calls are only made once RevisionSlider has been expanded.

Bug: T141871
Change-Id: Ib312f6225b85b9ebdf4ac5d16e254a57d5cf6411
2016-08-09 14:54:59 +02:00
Leszek Manicki 796a971118 Make backward/forward arrows OO.ui.ButtonWidgets
Bug: T142206
Change-Id: I25c98e32c74235a2b70ac1d02c221f1898ba9958
2016-08-08 16:17:35 +00:00
Leszek Manicki 77095bfa65 Use OOjs Popup Widgets instead of tipsy
Bug: T141983
Change-Id: I4b4ea427f82b15625537d859623461eceb1eb52b
2016-08-08 18:11:23 +02:00
addshore f2d12c6728 Add browser test for history after dragging pointer
Change-Id: Icfc28009b4b2168bdde328055906238e0108713c
2016-08-01 12:25:46 +01:00
Leszek Manicki dc838bc87d Fetch more revisions as the user moves back and forward
This changes the previous behaviour of fetching always up to
500 most recent revisions.

Now the extensions fetches N revisions including the newer
revision selected to diff as the most recent revision.
N is number of revisions that would fit in the current
window when rendered as bars.
When user is close to either "end" of the slider, extensions
fetches another batch of up to N older or newer revisions,
as long as user does not reach the oldest or the newest
revision of the page.

Among others, this removes the limitations of the previous
approach: showing only 500 revisions, and failing to show
anything when any of selected revisions was older than
500 recent revisions.

This change also simplifies usage of Api class.

Bug: T135005
Change-Id: Ib3f4a6ac57ff17008f9d8784c4716bd294443096
2016-07-28 12:58:35 +02:00
Leszek Manicki c7190cf97d Add support for GENDER to the username label in the tooltip
After fetching a batch of revision data, user names are extracted
and another API query is made to get gender preferences for users.

This change also moves a code responsible for MediaWiki API calls
to its own class.

Bug: T136367
Change-Id: Id11fe14e9ca37829141ae92b13b51f10f992eb96
2016-07-26 11:50:59 +02:00
Leszek Manicki 8d91433b61 Open links in the "tutorial" in the new window
In particular, link to a Meta page on the related community wish
should open in the new window/tab.

Bug: T140875
Change-Id: Ib0d7bf679c9ac8a3ee2fdf2289fc53cfdfdaa671
2016-07-20 12:28:20 +02:00
addshore bad7298b8f Browser tests for history feature
Bug: T133278
Change-Id: I5ba8d7766e91d733504f488d1f277850e8fab945
2016-07-05 17:35:37 +01:00
addshore 590742edd8 Pointers browser tests
Bug: T133278
Change-Id: Id94681550aa3e2f02137e6b432dfe06d2b80b9b7
2016-07-05 13:47:31 +01:00
WMDE-Fisch 4f4f500854 Simplify conditions
Change-Id: I7e1a46c865c070f5c804833b9f0b05c5208ff163
2016-07-05 13:23:16 +02:00
addshore 1e65ec602f Tooltip browser tests
Bug: T133278
Change-Id: I7ee7143ab3fcd9c2fe41604c370d9c4e2e7a9d20
2016-07-05 11:57:36 +01:00
jenkins-bot 7d00324b5c Merge "Timeline browser tests" 2016-07-05 09:59:07 +00:00
addshore 50fdb7b1c9 Timeline browser tests
This adds tests for navigating the timeline using the back
and forward buttons.
It also makes sure that the buttons are disabled / enabled
at the correct times.

Bug: T133278
Change-Id: I9834dd3d3bf107557b15fdd105a946902d53b8f2
2016-07-05 11:44:23 +02:00
Leszek Manicki 8e2365502b Make RevisionList expect list of Revision object
Despite its documentation the "constructor" of RevisionList tends
to expect array of revision data in a format returned by API instead
of array of Revision objects.
Due to different name of ID fields in Revision object and in API array,
if "real" Revision object is passed to RevisionList, its ID is lost.

This changes RevisionList so that it only accepts an array of Revision
objects. This provides better abstraction.

This is basically a revert of I147270f28381038d05f8bcfd2317e8c269b2e458
which aimed at the same problem but suggested solution doesn't seem right.

Change-Id: Ic45cdd3e7b707a8c6a19eecf0a84d4c11696cd1f
2016-07-05 00:01:46 +02:00
addshore 1671a07d7d Allow browser tests to add more revisions easily
This allows an arbitrary number of revisions to be created
on a page very easily.
The page created will have a name relating to RevisionSlider
suffixed by a random float.

The base logic for this is taken from:
Ic165f108517c534a4b1c12883621b3624c7b0336

This patch also removes the @vagrant tags as RevisonSlider
is not yet in vragrant.
Please see T139296 for the ticket to add it.

Bug: T133278
Change-Id: I8a25db411bee2fa44555a23d1a840907a185c998
2016-07-04 14:58:14 +01:00
addshore 6101897460 Add browser tests for tutorial / help dialog
Testing the visibility / presence of things around
the dialog appears to be hard and the DOM for the dialog
remains unchanged when shown / hidden as far as I can see.

These tests test that the dialog is only shown once per
user.
And that the sequence of the dialog works in regards to the correct
buttons being present at the correct times.

Bug: T133278
Change-Id: Ia86cb69573da3e888c2897b8b50f1d2e5c61d8d4
2016-07-04 13:39:19 +00:00