New changes:
e661245 Localisation updates from https://translatewiki.net.
d0bac53 ElementLinearData: Add test for sanitize conversions
53988e4 ElementLinearData: Test blacklist unwrapping
8593098 ve.dm.Model: Remove unused, untested method 'hasAttributes'
6247dd2 ce.Surface: Add tests for table strip delete
bee1851 ce.Surface: Add larger table strip-delete test
42d39e7 ce.Surface: Test table navigation with enter/escape/tab/shift-tab
5d248f9 Remove TableCaptionCommand
a86ad04 PreviewElement: Check node is a GCN, and always return a boolean
b518839 Localisation updates from https://translatewiki.net.
8834e9c ce.Surface: Allow any key code in the key handler tests
6b3ea6a ce.Surface: Linear arrow tests for block node
026999d Localisation updates from https://translatewiki.net.
eb97c1f Localisation updates from https://translatewiki.net.
Change-Id: Ic5853116d97623316d9a6bbacda2ecab9e4b49d5
Using the same logic we used for converting pasted URLs, detect
internal links by matching their base.
Currently link pasting is still disabled in the VE target, but
has been enabled elsewhere (Flow).
Change-Id: Iebd61abbe1fe82fd18d129e1dbc815ca75f44e87
Now that some targets support link pasting (Flow) we need to
make sure that pasted links match to an allowed type ('link/mwExternal')
instead of plain 'link' annotations which should never exist
in an MW document.
In a later commit we should auto-detect internal links.
Change-Id: I7faae834aa6e730c3cf93a691331a05fd0fe3d5c
I have noticed that Jenkins job that runs daily fails sometimes because
looking up the element failed after 5 seconds. The time is increased
from 5 to 10 seconds.
Bug: T94150
Change-Id: Ib23f4ac72aa6c734f297e8f9fb5ad4645ac8891e
VisualEditor_Insert_Menu scenario fails with `Original image height is
too small! (ChunkyPNG::OutOfBounds)`.
Bug: T119482
Change-Id: I30c3a9757c5754a40921fce5225b73897eed865b
Sauce Labs browsers raise
Selenium::WebDriver::Error::StaleElementReferenceError
if a test tries to use an element but VisualEditor is not loaded.
Bug: T128731
Change-Id: Icb01b4dee256a0270d722492d11dabf0cfc4f8c4
Looks like local browsers raise
Selenium::WebDriver::Error::JavascriptError while remote (Sauce Labs)
browsers raise Selenium::WebDriver::Error::UnknownError if a test tries
to use an element but VisualEditor is not loaded.
Bug: T126966
Change-Id: I89c8eaba996e95e7859084fe26e15befee9dce77
All scenarios that are passing are enabled to run in Jenkins.
(The commit increases the number of passing scenarios from 2 to 18.)
Bug: T126966
Change-Id: I9789ca42717133120197c4625bb8dad4ea496aa8
To get at least some Cucumber scenarios running in Jenkins, disable all
of them that are failing and run only ones that are passing.
The next step will be to fix failing scenarios.
Bug: T94162
Change-Id: Id0338c1d6b86d6b45220c5c0802074be397fb607
This prevents tables from getting sanitized even on
VE to VE copy. Also by calling ClassAttributeNode sanitize
extra CSS classes are removed.
Bug: T97462
Bug: T125220
Depends-On: Ia3ce386b2a03bc227818b10423bca72c736c0656
Change-Id: Ifd91e00b40665b446bbdcdf8859d2bb641bc0e67
They make it a little bit more cluttered to hunt down problems when
testing. So, use the minimum image instead of just "Foo" or similar.
Bug: T121636
Change-Id: I3209c377ad870f669cac7d40d991968cff52c39e
References to JS objects for VE elements can determined by referencing
the VE and OOUI API documentation[1][2] and interrogating the objects in
a browser console. Errors should be closer to what developers understand
but testers should pair with developers to better understand how to
define new page elements and where to go for documentation/help.
The VE entrypoint for the singleton reference is `ve.init.target` (if
there's only one instance of VE target; there may be multiple in some
cases like Flow).
[1] https://doc.wikimedia.org/VisualEditor/master/
[2] https://doc.wikimedia.org/oojs-ui/master/js/
Change-Id: I1f642807cdd3059d8e7e885a8b239ac01b9b3024
This makes way for a base mw.Target class which is
not specific to articles (e.g. Flow boards).
Bug: T97166
Change-Id: If72650bdf87aa9f195b004da0a4d815f1a8063a3
If you create an autolink in the middle of bolded text, the magic link
should also be bolded. Similarly, if you convert a bolded simple link
to a magic link, the magic link should stay bolded.
Change-Id: I38c7f3c0c275851049088a37f3b37d815ed38e4e
New changes:
95589a6 test: Add a Rakefile for new CI requirement
1a4497e ve.ui.DialogTool: Do not require that a command is set
cbf1bff ve.ui.Tool: Fix documentation for getCommandName
530022d Localisation updates from https://translatewiki.net.
9529093 Update OOjs UI to v0.13.2
b8d6c15 Add icon: Rename 'insert' to 'add'
2f3015b Update OOjs to v1.1.10
78ceb18 Fix deletion inside a structural node at start/end of document
ce3e9a4 ve.utils: Use binarySearch from OOjs
Local change:
* MW test cases for new structural deletion logic
Bug: T52250
Change-Id: I643449c1fa08ea12c8c3aa13f4a4b97d8876990d
New changes:
6cae77b ElementLinearData: Add another case to hasContent
d2e15f2 SurfaceFragment: Improve handling of delete all
16db2a3 Return 'null' instead of null in ve.Filibuster observers
24de6b2 Introduce key down handlers to separate logic from ce surface
f77fe99 Localisation updates from https://translatewiki.net.
062cb26 Localisation updates from https://translatewiki.net.
Change-Id: I61c94983c7898af219266af3022761638c7578b7
In some tests the save button won't be available for a few ms
until the latest transaction has been pushed to the undo stack.
Change-Id: If03f03b033a21a039a322ca32983d0302e44efbb
* translate method can be called to translate a particular string to a
specific language.
Bug: T90577
Change-Id: I7852ee0b0009e70bd9decef0dd317055d91a06a6
New changes:
63c5f67 [BREAKING CHANGE] GeneratedContentNode: Introduce new hash for rendering
6dd1cb2 Add ve.dm.Surface#selectLastContentOffset
Local changes:
* Use new getHashForRendering in GeneratedContentNode users
As we no longer have a model hash, remove the originalIndex check
and just rely on the deep comparison of mwData (trading a deep copy
for a hash computation should result in similar performance).
Bug: T114689
Change-Id: Ida0ee0234418408b735232c633d41908a424a9ff
Implement a special node type, context item, and inspector for
ISBN/PMID/RFC magic links. Add buttons to the link inspectors
to convert back and forth between "simple" links, and magic links.
Depends on I5d000d8b63dafdfe0a2753069d3f0ac5b03b8829 in Parsoid
for clean round-tripping of localized ISBN magic links.
Bug: T63558
Change-Id: Id5b7a2ae3c80b0e5eed598f0bd024d3e94f7e9aa
Add a parentDoc parameter to the MWImageModel constructor and use
it to inherit language, direction and HTML document. Remove
getLang(), setLang(), getDir() and setDir() whose only purpose
was to propagate the language and direction from the parent document
in a hacky way.
Also add a parentDoc parameter to newFromImageAttributes(), replacing
the lang and dir parameters. Remove the unused and ill-conceived
caption parameter.
This causes caption documents to always have an HTML document
for URL resolution. Previously, this worked when editing existing
images because a document generated by cloneFromRange() (which
propagates the HTML document) was passed into setCaptionDocument(),
but it didn't work when creating new images.
Bug: T109599
Change-Id: Ida36862092cd779ffc2f04c0ecbc1164f8d71453
This allows the URL paste handler to use the normalized title
as the text content. Add a test to cover this behaviour.
Depends on Ica48fea69cc in core.
Bug: T109980
Change-Id: I2784adaf2949a73256049921227dde0917ef9aef
Fix the back-reference to \1 (1st set of brakcets).
Add an test to make sure the example sequences actually trigger the
wikitextString handler, and tweak test to ensure that the start-of-line
restriction in the heading regexp doesn't affect link matches.
Change-Id: I76187a12292a4923d1ee2505cfb955431ac252bb
Also store the abortable API request so it can be cancelled
by the dialog.
To test this, put sleep(4); in ApiVisualEditor.php.
Depends on Ied21e574baa in core.
Change-Id: I83ffa9e0b7164ca4a34eae86cde452d8f38dc853
Depends on Ibdad2fa98fca08eeaa96bf33a08dd7723c1edb8c in Parsoid.
Depends on I3dcd289ed7b565b9162ee671038eeb45449e1215 in ve-core.
Bug: T109498
Change-Id: I5650410d7fca30c90baddd4f0c3f6d80e6b39042
Upgraded mw-selenium to 1.x, following the docs at
https://doc.wikimedia.org/rubygems/mediawiki-selenium/file.UPGRADE.html
Created an `environments.yml` file, converted page object definitions to
use relative paths, and refactored references to the global `ENV` using
methods of `MediawikiSelenium::Environment`.
Upgraded commons_upload as well to resolve a dependency conflict on
mediawiki_api.
Paired with: Rummana Yasmeen <ryasmeen@wikimedia.org>
Bug: T99661
Change-Id: I2a05cd816ea43afb48157e5dbe1ae42c6c124f6b
This invokes Parsoid to convert likely wikitext pastes.
This addresses about 20% of the <nowiki> insertion quantified at
https://fr.wikipedia.org/wiki/Wikip%C3%A9dia:%C3%89diteurVisuel/Avis/Nowiki
for 2015-04-08 which were due to inadvertent pastes of wikitext.
For a better user experience, suppress Parsoid's P-wrapping if the
output consists of a single top-level P element. This ensures that
pasting '[[Foo]]' won't add an unexpected newline before the paste.
Bug: T54204
Bug: T109449
Change-Id: I26a4cd8dc5b7e7caf16ca081dbe7baf6a7db8e5c
New changes:
263b4fc Localisation updates from https://translatewiki.net.
0487dcc ve.dm.CommentNode: Add space to comments' clipboard html
3a5422b DebugBar: Add a close button
Change-Id: I9ff3a77a3eb8d2d9a9dc61aa6cb52db577d1592e
New changes:
985edd2 Localisation updates from https://translatewiki.net.
9883b44 Follow-up 985edd24: Fix build for added language 'shn'
b0d5ee2 Localisation updates from https://translatewiki.net.
18ca837 Localisation updates from https://translatewiki.net.
f6a0945 Don't include trailing punctuation in autolinked typed text
Local changes:
* Add MW-specific trailing punctuation rules for autolinking
Change-Id: Iaa620142222f47e9fde2d03b935f38c24d38800b
MW target has 'static' methods, some of which aren't attached
to the static property, the rest of which should be instance methods.
Rename success/fail functions to remove 'on' as that is reserved for
actual event listeners.
Change-Id: I63e68dbe1923906208b180abfc4a9a280b4d098e
* Use local edit source tool, and emit event to MF
* Bring in toolbar styles, bonus: remove old desktop style hacks
Bug: T96186
Change-Id: I89351e409aa4e9d626edd7151ae05bdcd58f1cee
* All translations will be in tests/browser/i18n folder
* Hebrew json’s are added, which needs to be translated.
Paired with Zeljko.
Bug: T105466
Change-Id: I4ae516758fb01a41f0dcf53c7cf3e609c7601cf3
In clipboard mode we need the full body regardless of if the reference
has changed since load or not.
Bug: T104230
Change-Id: Ie59e04d381f2fd2680e8af0cf05a80df71052822
All link input/title input functionality has been moved to core, so
we can replace the link widget, redirect widget and template search
widget with it.
Depends on Ib463e60cad96 in MediaWiki core.
Change-Id: I452f3b86ead403307072cf904f0553c9771f4300
This is a hacky fix, we should find a better way of telling the
model registry that language annotation loses to certain RDFa types.
Bug: T101977
Change-Id: I8be3aa55cbbc2832b8a02a15de27289b3041967e
Once MW images are registered, we should remove core image support so
we don't accidentally match to them (e.g. an MW inline image with an
unsupported extra RDFa type).
Change-Id: I1c8567346c371fe338f95b232c9ac53e009c5a46
* The element's class name changed.
* Zooming is removed - it was breaking the test and
it's not needed anyway.
* Fix another element with the same class.
Change-Id: I46a867619ed49936c3868f6b1b15e773bdb6f6b1