Commit graph

288 commits

Author SHA1 Message Date
Timo Tijhof 19afd65a08 build: Update jscs and use new "wikimedia" preset
Our coding style has been upstreamed and first released
in node-jscs v1.5.0 (grunt-jscs-checker v0.6.0).

Change-Id: Ifc0cfc7177946b9d11407f60e38b0177883724c5
2014-06-26 17:00:15 +00:00
jenkins-bot 67512b90cd Merge "[BrowserTest] Language Screenshot (browser test and their screenshots) for Headings and Formatting" 2014-06-26 14:06:50 +00:00
vikassy c5688eea20 [BrowserTest] Language Screenshot (browser test and their screenshots) for Headings and Formatting
This is an illustration of how one can get a screenshot of
the Headings pull-down menu and formatting pull-down menu for the Visual Editor User guide[1].
To see how it works:
* Set environment variable LANGUAGE_SCREENSHOT_CODE to which ever
language you are planning to run browser test for.
(Eg: de for German/en for English)
* Set environment variable LANGUAGE_SCREENSHOT_PATH (optional)
to store the screenshot in that path. If not provided the ./screenshots folder will be used.
* Run the browser test as usual using cucumber or you can use @language_screenshot tag while executing
(bundle exec cucumber --tags @language_screenshot)

[1]: https://www.mediawiki.org/wiki/Help:VisualEditor/User_guide

Bug: 62737
Change-Id: I0f27aec482458b6f04aa913426042f78695d451d
2014-06-26 19:13:24 +05:30
Cmcmahon 48189d9756 [BrowserTest] temporarily don't check for minor edit
The issue with the test user getting logged out unexpectedly
causes 'minor edit' to not appear.  The test still covers useful
features without this check.

Change-Id: If570d537824025100670e1195794efde17d5063f
2014-06-20 15:28:58 -07:00
Cmcmahon 04242ddeac [BrowserTest] page content element is normal again
Change-Id: I520fecad63c2d7ea69ca668877af4f1d2e10acc2
2014-06-18 16:47:23 -07:00
Ed Sanders d505cc3763 Update VE core submodule to master (8809237)
Fix tests to include new insertion operation properties.

New changes:
afbd97e Localisation updates from https://translatewiki.net.
d90c212 [BREAKING CHANGE (ish)] Track original data position in insertion operations

Change-Id: Iac86f212bdb78f47f49c6984affe88feaf786765
2014-06-18 15:42:13 -07:00
jenkins-bot f2c7788522 Merge "Use registered target, instead of ve.init.Target" 2014-06-18 01:45:01 +00:00
Ed Sanders b7343b5e07 Update VE core submodule to master (4c599b0)
Fix ContentBranchNode tests for getClientRects change.

New changes:
9bbd259 Create highlight elements on demand
a711c6d Indent demo HTML
b1b6562 Use cached surfaceView
d4b48b1 Replace <cite> with <span rel="ve:Alien">
ee5b697 Shields are dead, long live getClientRects
4c599b0 Remove repositionOnly argument from update

Change-Id: Ifa65c46d09864f214ece9349b990f7d8c07d416b
2014-06-17 16:18:29 -07:00
Ed Sanders c70d32c017 Use registered target, instead of ve.init.Target
Depends on I468d4eb4 in core.

Uses various hacks to trick the test runner into thinking
an MW target is in use, when in fact we still use SA targets.

Change-Id: If4611307d5d7aaee4af84f86ef82faf9078043b6
2014-06-17 20:41:01 +01:00
Cmcmahon d0ad8076a9 [BrowserTest] new locator for page content after Save
Change-Id: I1f9f9542cc5c7da40f0e219ccc393255f2233535
2014-06-17 06:59:01 -07:00
Cmcmahon a006cf0724 [BrowserTest] update ruby gems
This is to pick up the latest mediawiki-selenium gem. We have
removed the HTTP:Persistent gem, which should make builds
slightly slower but also more reliable.

Change-Id: I8d6bfb32e2ed4196186db563838bc025d4c378f6
2014-06-13 08:36:08 -07:00
Cmcmahon d82a0eabd8 [BrowserTest] create a Template at run time
For the case of a bare wiki, make a page Template:Seleniumtest
so that something will show up when typing into the lookahead
box in the Template inspector

Note that it may take a small amount of time for the new
Template to be available to VE. If this test fails on
the first run in a bare wiki, it should pass on the
second run ,once the Template is indexed by the
search back end.
Change-Id: I70d1ff39c2fd01bb0aeee89d3c090d372b427f5b
2014-06-12 09:24:08 -07:00
jenkins-bot 502e02e360 Merge "[BrowserTest] Update login tests to use api" 2014-06-11 23:27:26 +00:00
Cmcmahon 81ee97ba54 [BrowserTest] remove experimental cursor test
This never did work properly, it was kept around as a toy

Change-Id: I1787b274cdd9297e906f9076b7d4135f7a29782b
2014-06-11 16:24:38 -07:00
Dan Duvall 65acd49edf [BrowserTest] Ignore puppet-managed configuration
Change-Id: I19011c41a91d0cd3d4116ed6ae75894c232e970e
2014-06-11 14:51:58 -07:00
Timo Tijhof 792e7db351 ve.dm.Converter.test: Use teardown to restore mw.config instead of ad-hoc
Follows-up I90273786ac186d.

QUnit.newMwEnvironment() is a utility provided by MediaWiki core
that returns an object with 'setup' and 'teardown' that automatically
provides a new sandboxed mw.config before each test and restores
the original after each test.

Change-Id: I24ac5d8be278df7070093fb84bcbe3720be18791
2014-06-11 18:19:53 +02:00
Cmcmahon e9cc4b441b [BrowserTest] Update login tests to use api
This should make it possible to run all of the VE test suite
against an arbitrary wiki (with VE installed) including
the latest vagrant image with VisualEditor role enabled

Tested on the vagrant image and on beta labs

Change-Id: Ib249e4ffb607210756bb110187c7e2864b0c83f5
2014-06-11 09:14:17 -07:00
Cmcmahon a6b8d755fa [BrowserTest] Remove obsolete test
Uses old version of api call and doesn't actually do much useful

Change-Id: Idfd831a89ed77e475e26925d23f8b62a8e4aa50e
2014-06-11 08:12:11 -07:00
Roan Kattouw 310601ef47 Update VE core submodule to master (e1b0e33)
Remove ProtectedNode mixins for new FocusableNode.

New changes:
e1b0e33 [BREAKING CHANGE] Merge ProtectedNode into FocusableNode

Change-Id: Ie515704163c24317739fd34d35094b9ada6bfa66
2014-06-10 16:52:49 -07:00
James D. Forrester 2c00c39393 Update VE core submodule to master (2587549)
Update DM node constructors for I81c60d4a in VE core.

New changes:
2587549 [BREAKING CHANGE] Fix Node construction arguments

Change-Id: I8d4f37b631fe85a78c72407937477963ac49f87a
2014-06-06 20:28:03 -07:00
Cmcmahon 56684a9847 [BrowserTest] Update gems in support of WMF Jenkins
Next step in porting from Cloudbees

Change-Id: I1a9cc0a53f6d3edf01826ffbeb70b3f6f20da8fe
2014-06-05 10:01:45 -07:00
Cmcmahon 336c1b8690 [BrowserTest] new test for page options
First pass at an Options test.

Checked in Firefox and Chrome

Change-Id: Ic5e6ec84d291c1642b8e4673c1a33517529e314b
2014-06-04 13:07:45 -07:00
Cmcmahon 1b6f55e0d7 [BrowserTest] Link UI text changed
Change-Id: I03c53f0f2bab321a48aae186580de1900926ab92
2014-06-02 07:03:48 -07:00
Cmcmahon 26a5d50b6e [BrowserTest] updates for new bullets/indent UI
DONE: bullets test passes in Firefox and Chrome
DONE: indent/outdent test passes in Firefox and Chrome

TODO: instead of sleep do wait_until for the iframe

Change-Id: Ibcda64dc2457648abf3d5c6bc226b5cc628c0c45
2014-05-29 10:30:14 -07:00
James D. Forrester 0d4aaf5b4c Move Safari 5.x to greylist because dialogs aren't working well
Bug: 65656
Change-Id: Idb1236d199e323381bcd69a50b34d8ba05ecc145
2014-05-23 20:05:01 -07:00
cmcmahon 82dc0cbb99 [browser test] Dismiss new confirm dialog
Note: this is not a real confirm, it is an iframe with some
buttons that look like a standard confirmation but are not

Change-Id: I7854815542f05bec03ce950495dd675605916deb
2014-05-21 09:35:28 -07:00
jenkins-bot 5798569c73 Merge "Image model and the media edit dialog" 2014-05-20 01:15:31 +00:00
Moriel Schottlender 37b3c07b26 Image model and the media edit dialog
Creating an MWImageModel that handles all image edit operations.
If the new attributes mean a change of image types from inline
to block or vice versa, the model will handle the creation and
insertion of the new node.

Change-Id: Ibe71bc8bd74e4ba5a024ac722432ccf0b8f65e71
2014-05-19 21:11:06 -04:00
jenkins-bot 7f7619a9e5 Merge "[browser test] use css for Template selector" 2014-05-19 18:25:09 +00:00
cmcmahon 37e01c67b2 [browser test] use css for Template selector
Change-Id: I288c8bb8a27a6eebbd550c533837787759ef2674
2014-05-19 11:21:32 -07:00
Timo Tijhof 25d00cc777 build: Update jscs and jshint
jshint:
* Update to grunt-contrib-jshint v0.10.0 (jshint v2.5.0).
* Remove coding style options covered by jscs.
* Enable new option "freeze" (prohibits changing native prototypes).
  http://www.jshint.com/blog/new-in-jshint-oct-2013/#option-freeze
* Re-order to match http://www.jshint.com/docs/options/

jscs:
* Update to grunt-jscs-checker v0.4.4 (jscs v1.4.5).
* Format .jscsrc file in a more spacious way and order the
  properties less arbitrarily (using the jscs's readme order).
* Enforce more details of our coding style
* Get rid of the unsable "sticky" operator rules which have been
  deprecated in favour of using other rules instead that are able
  to enforce this more accurately.
  - disallowLeftStickedOperators: Remove deprecated rule.
    * Ternary covered by requireSpacesInConditionalExpression.
    * Rest covered by requireSpace{Before,After}BinaryOperators.

  - requireLeftStickedOperators: Remove deprecated rule.
     * Comma covered by disallowSpaceBeforeBinaryOperators.

  - requireRightStickedOperators: Remove deprecated rule.
    * Logical not (!) covered by disallowSpaceAfterPrefixUnaryOperators.

See also If46b94ce1, Ib731f11b1 and I0b0cadbc5 in oojs/core.

Also:
* Update grunt-contrib-watch to latest upstream version.
  Change log at https://github.com/gruntjs/grunt-contrib-watch/blob/v0.6.1/CHANGELOG#L1-L17

Change-Id: I6c5a34afea8b05a3dca617897c192594df06ca90
2014-05-15 16:52:34 +00:00
cmcmahon 9db7256fff [browser test] Don't rely on existing page for anon edit test
Change-Id: I43a7d78894ec290faa9e74b085aa2ead15958c62
2014-05-14 08:37:22 -07:00
vikassy af2fe79f9b [browser test] Testing use of existing reference in Reference User Interface
Change-Id: Ic27711bcef33614fe4706df48dbcd6d0dca038b4
2014-05-13 03:39:10 +05:30
cmcmahon 77ec006d87 [browser test] Remove bogus 10-second sleep...
Replace with a reasonable wait_until clause while the '...'
dialog is still visible.

Change-Id: Ie6395e83eed83ce02349f65b10cecf1dba4fef99
2014-05-09 13:50:13 -07:00
jenkins-bot 61c554e952 Merge "[browser test] Chrome is working correctly now, add tests back" 2014-05-09 20:05:32 +00:00
cmcmahon 8097121957 [browser test] Chrome is working correctly now, add tests back
Change-Id: I3f788bd5b38aff1108e9b8d70308c07c0731f703
2014-05-09 11:04:49 -07:00
cmcmahon e47d02adb1 [browser test] Remove old hooks after refactoring all tests
Change-Id: I5782886fbaed8b520a5af727a5938f670d747c9b
2014-05-09 10:54:23 -07:00
cmcmahon 0ff3cf3436 [browser test] Transclusion test now uses API for test page
Also re-enabled for Chrome

Change-Id: Ibeaa993413178148d1ee6601d27c30e61e82bcb2
2014-05-09 09:48:22 -07:00
cmcmahon a367ee5fa9 [browser test] References test has own page now
Also re-enabled for Chrome

Change-Id: If61848d24d9133fef514ef5c360d6d90f943abaa
2014-05-08 13:11:23 -07:00
cmcmahon 9882e67605 [browser test] Don't select link text in test
Avoid bug 64655

Change-Id: Id7d241e1ccb1591027a42c29478c2855dfd5813c
2014-05-08 12:46:30 -07:00
cmcmahon cbc2fcbd28 [browser test] Media has its own test page
Also figured out that send_keys(") is the way to "click"
in the VE ContentEditable div

Change-Id: Ib2654a6026023f4c802eee72565d6b51731cb86e
2014-05-08 12:29:02 -07:00
cmcmahon c416e78dcf [browser test] Indent outdent test now uses the API
And re-enabled for Chrome also

Change-Id: I8e4182d25f238c987a6c47088bb302ad33d9cec6
2014-05-07 14:36:05 -07:00
cmcmahon b62359f6f6 [browser test] Refactor Headings test to use the API
Re-enable this to run on Chrome also

Change-Id: Ia73778be44629a27a0ee4e3cde94f7fe2c2bf46e
2014-05-07 13:27:39 -07:00
cmcmahon 54fd7c9184 [browser test] Links test to use API for target page
Note that I reported Bug 64655 for Chrome but upon refactoring
this test I find the buggy behavior now in Firefox but Chrome
is fine.  Browsers are weird, and the Links inspector is too.

Change-Id: Ibd90a33bb43342dc1d7410d621f01875e1c177bf
2014-05-07 11:34:11 -07:00
cmcmahon 98f955e395 [browser test] template workflow changed somewhat
possibly WIP

These changes make the test pass, still thinking about whether we
should test the workflow changes, which are cognitively different
than before

Change-Id: I85955836f0eeedcb55e7a5260101339d2f73d2e6
2014-05-06 16:07:03 -07:00
cmcmahon 90cfcb78c1 [browser test] Refactor markup test to use API
Moved "Given I go to" step out of bullets_steps
and into shared_steps since two tests now use it.

Change-Id: I354c15ddd86c9b921db7105e746239fdced2e520
2014-05-06 10:33:02 -07:00
cmcmahon 1a16b5aa9e [browser test] refactor bullets test to use API etc.
Get rid of all hard-coded values for both the target page
and also the text on the target page, which is now all set
in the .feature file.

Note that we're deconstructing the @make_selectable hook
by doing this. @make_selectable may become obsolete when
all the tests are refactored to use APIPage

Change-Id: Iad1b160d9d0274effb8504f276bd4816932d299c
2014-05-05 21:44:53 +00:00
cmcmahon fcffffbb99 [browser test] further adventures of avoiding login to edit
Using @edit_user_page hook is a workaround that avoids the
problem where Selenium brings up Firefox with the cursor in the
address bar

Change-Id: Iba42cbb74378952760db3db68130ac74219cde9b
2014-05-02 15:43:16 -04:00
cmcmahon 5858fb6e5b [browser test] CE locator is simpler than it was
Change-Id: I3faa6de871b2e86cbd07b2e9f492e1788434e804
2014-05-02 15:06:55 -04:00
cmcmahon 0fb393823d [browser test] use ?veaction=edit to avoid login where feasible
First pass, more examination to follow. After this builds will
continue to be green.

Change-Id: I8e63046ec72ae9708d1fe708b8ee86a688ccb73c
2014-04-28 15:38:18 -04:00