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
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
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
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
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
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
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
- add Gemfile.lock
- use recent version of gems
- ditch README and link to wiki documentation
- clean-up environments
Change-Id: I76bb1d491911abbc0c0bb4387b436ab3ff2cebc2
- Applied the Given-When-Then rule
- Added separate accessors for disabled arrow elements
Bug: T146276
Change-Id: I0278ef607f96851ed69e7373b952f5d02139cb0c
This will avoid checking pointer data prematurely when
they are still moving and the diff was not reloaded yet.
Change-Id: I3c29a43940e40b7c338a00b3520e5aa6b237ea4a
- 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
- Applied the Given-When-Then rule
- Created alias of "close-help-dialog" step for readability
Bug: T146276
Change-Id: Icc8aeb8720025bd3c6d6bc811713fac48a9919dd
- Applied the Given-When-Then rule to scenarios
- Added alias for one step for better readability of scenarios
Bug: T146276
Change-Id: I08aabda113d6ad9f1bbf06161484143549b13a7c
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
* 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
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
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
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
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
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
This adds 1 simple browser test to make sure that the placeholder
for the revision slider loads when the beta feature is enabled and
does not load when it is disabled
More tests will follow.
Bug: T133278
Change-Id: I5be9014b6c5ac03128c034fd866141e89fd7a0ed