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
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
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
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 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
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 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
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
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
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
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