Commit graph

630 commits

Author SHA1 Message Date
Bartosz Dziewoński da9b6fffbd Parse relative hrefs on image nodes like on regular links
* In normal images, parse relative 'href' attributes instead of
  expanding them to absolute, and parse 'resource' to keep it
  identical to 'href' if they refer to the same page (including
  same percent-encoding and space/underscore). This resolves Parsoid
  generating |link= options for copy-pasted images (T193253).

* In gallery images stuff, prefix the 'resource' attribute with './',
  same as normal images do. This causes no functional changes, but it
  makes updating tests easier, and the consistency is probably good.

* Update test examples to also prefix 'resource' and relative 'href'
  attributes with './', like the real Parsoid does.

Bug: T193253
Change-Id: If2d7f080d9d693568054f8311c1e1b15ca27ea5c
2019-09-25 00:25:04 +02:00
Bartosz Dziewoński e472a4bbd3 Fix mw:MediaLink support
* Handle mw:MediaLinks pointing to to non-existent files, which come
  with typeof="mw:Error" (similar to image nodes).

* Fix regression from c66f8e0547, which
  caused all mw:MediaLinks to be treated as plain external links again.

* Add test cases.

Bug: T232754
Change-Id: I9ae5bcfc4e24e8c0d22ef77d6a4d03f817fc9768
2019-09-24 22:46:03 +02:00
David Chan c4cb88aded Don't unwrap a solitary paragraph in Wikitext string transfers
This meant we were returning invalid documents with bare content outside
content branch nodes. Instead let ve.ce.Surface in VE core do the unwrapping.

Bug: T232944
Depends-On: I8799d51958b966c99307f4c70546ea326e67385c
Change-Id: I0479116b51cc3135a992fdf36b8edfb2c44916ba
2019-09-17 20:44:45 +00:00
Ed Sanders 0371915832 Add unit tests for read-mode reference filter
Bug: T150418
Change-Id: I8b39694d5c01e0902491fe3d6f3a08451c7c5297
2019-09-10 14:46:45 +00:00
Ed Sanders 90426ba496 Use MW import rules in MW tests
Bug: T150418
Depends-On: I6ad87b53446d7d9fcaf82e1d60e3f9968c4409b6
Change-Id: I5d7f24a7e36ddd3624ef120783ceec5063cf3711
2019-09-10 14:46:37 +00:00
Bartosz Dziewoński 84d548e7b1 Remove redundant @method annotations
A @method annotation is only necessary when the docblock is not
directly followed by a function declaration (in which case JSDuck
assumes it documents a property), e.g. when defining an abstract
function or referencing a function from another library.

I verified that JSDuck generates exactly the same output before and
after this change (docs/data-<hash>.js files are identical).

Change-Id: I7edf51a8560ab9978b42800ab1026f0b5555c3bf
2019-08-21 23:33:15 +02:00
Bartosz Dziewoński fbb56d66fa Store 'canEdit' property when auto-saving or switching editors
Added in b9835f75d3.

Bug: T224319
Change-Id: I05d6aa500ba921d114f33972369ad4dd53b8e140
2019-05-24 23:15:38 +02:00
Ed Sanders f9330c8564 Replace the save button with a save tool
Now shows correct tooltip for save button (including
the access key).

Bug: T163142
Change-Id: If14a1a5a5829fc215cb79827392173dc05c4bdd7
2019-04-30 19:32:33 +00:00
Bartosz Dziewoński 362df66b47 Remove support for page title "hrefPrefix" other than './'
Parsoid does not use relative links anywhere anymore (T72743). There
is no reason for us to support this. And previous code allowed
"hrefPrefix" to be empty '' sometimes, which is scary, as it could
lead to XSS vulnerabilities if titles starting with 'JavaScript:' are
not handled correctly elsewhere.

Bug: T206357
Depends-On: I8728f63084902c76d1c61193be4367939b069f1a
Change-Id: I99be18877aae2b505cf261bd7cdef6cf0d7a8670
2019-04-03 20:10:05 +00:00
jenkins-bot 42eb7e0cf4 Merge "Suppress slugs between floated images" 2019-04-03 15:59:09 +00:00
David Lynch a976f0508f MWInlineImageNode: don't discard alt text when serializing
Bug: T216285
Change-Id: If81a9925cf32204f825e4da713aa07e860a29a46
2019-03-29 10:29:26 -05:00
Ed Sanders 970cca735d Suppress slugs between floated images
Logically depends on Idb4a58fa616 in core.

Bug: T107745
Depends-On: Idb4a58fa616dedb29d42bdf659a7497451f8eb6c
Change-Id: I206bf1a15cbac487b0d937a1b0447e0b9113156e
2019-03-21 11:33:27 +00:00
Bartosz Dziewoński 73b2defc1e Update VE core submodule to master (4669eff2b)
New changes:
0d28d49e7 ve.transformStyleAttributes: Update browser bug workaround comments
f51b718d0 Localisation updates from https://translatewiki.net.
b0d33a88a Use 'then' for opening/opened promises
40e98a759 Abort opening window for insertion when in readonly mode
744dc8cfa FragmentWindow: Add missing mixins, rename logic in WindowAction
ac5c18052 ve.ui.DiffElement: Don't always target links to new window

Bug: T210142
Change-Id: If07a40fff92fc739b7c6f954c3b89ad3fd7bdfd5
2019-02-26 16:57:17 +01:00
Ed Sanders 332aa1f3d2 build: Update eslint-config-wikimedia to 0.11.0
Change-Id: I5a294705eed1760e2d4dde33934d2ffb12e29525
2019-02-20 20:23:43 +00:00
Bartosz Dziewoński 18fb16c81d ve.dm.MWInternalLinkAnnotation: Correctly generate relative links
We could generate incorrect links to pages whose title contains a
colon ':' and therefore looks like a fully-qualified URL.

Bug: T206231
Bug: T206357
Change-Id: Ie34694d903a6d97589cc46417f70659559494619
2019-02-04 20:08:01 +01:00
jenkins-bot ca03c085a2 Merge "Revert "Don't preserveHtmlAttributes on transclusion nodes"" 2019-01-17 12:54:58 +00:00
Bartosz Dziewoński bdfd4b6d8f Revert "Don't preserveHtmlAttributes on transclusion nodes"
This reverts commit 48db45df76.

Bug: T213922
Change-Id: I7b0bf081fd5a9ab71db1ede3ce6e149cfb4b675a
2019-01-17 01:42:15 +00:00
Ed Sanders 74f6c4899c build: Update eslint-config-wikimedia to 0.10.0
Change-Id: I63a0ebf0b31a0d5d4e680a4e2a5a0be4850be165
2019-01-08 17:00:09 +00:00
jenkins-bot bebbff8bab Merge "Don't preserveHtmlAttributes on transclusion nodes" 2019-01-02 18:58:13 +00:00
Ed Sanders 48db45df76 Don't preserveHtmlAttributes on transclusion nodes
Bug: T207325
Change-Id: I9c92f18c58c044e7f2257aa6993db227896a1468
2019-01-02 17:11:31 +00:00
James D. Forrester 3c293ea00c doc: Bump copyright year for 2019
Change-Id: I8991b97c980d4149f53eb5601036220ef3c0c440
2019-01-01 13:24:23 +00:00
Ed Sanders 2f34c66b4e Remove duplicate qunit env
Change-Id: I8c4cc4a788de838618b18eff5c4c98d74ac97fe0
2018-12-14 17:46:10 +00:00
jenkins-bot 827e3661ec Merge "Track when block notices are shown on visual editor" 2018-11-26 12:35:21 +00:00
Ed Sanders 1a3e8a958c build: Use eslint-config-wikimedia v0.9.0 and make pass
Change-Id: Idb57fc12e7822cf17e10dbb726480fc7de0ae199
2018-11-21 16:51:20 +00:00
Thalia 883e0c23a5 Track when block notices are shown on visual editor
When an edit notice is passed through from the API, allow
a type to be specified, and specify type 'block' if the
notice is a block notice.

If VisualEditorTrackBlockNotices config is true, track
when a message with type 'block' is shown.

Bug: T209633
Change-Id: If5fecc2c2c1c39f4b7245b9a215e1120c93b2b22
2018-11-21 11:22:50 +00:00
Ed Sanders 66972356cf MWTransclusionNode: Change HTML messages to plain DOM
Bug: T208732
Change-Id: I61a958292984586dc90262989ebb6c181f28a605
2018-11-05 16:28:11 +00:00
jenkins-bot b2c529e499 Merge ".eslintrc: Enable and fix "max-statements-per-line": 1" 2018-10-30 15:46:05 +00:00
jenkins-bot a0e73a1a80 Merge "Add another test case for stripping RESTBase IDs" 2018-10-30 00:22:42 +00:00
Bartosz Dziewoński e7fd1ac847 .eslintrc: Enable and fix "max-statements-per-line": 1
I am surprised this was disabled. I investigated this after reviewing
some code by a new contributor which I was certain should have failed
the lint check, but passed.

Change-Id: I5b3c837b8ca3292f6e268b3922443bd9587eadbe
2018-10-30 00:19:16 +01:00
Ed Sanders 16548af330 Use data.cloneElements when converting pasted wikitext
To avoid duplicate about attributes.

Bug: T204007
Change-Id: I97a92512d7b114ed46bc48d3d416eebc86df13f7
2018-10-29 21:36:10 +00:00
Ed Sanders c895c60907 Add Promise.prototype.finally polyfill and restore failing tests
Change-Id: Ia6cdb85d33d2b3e0e2e868838defaa39ae60572a
2018-10-23 22:56:34 +01:00
James D. Forrester e4724b3f26 Update VE core submodule to master (6c288b44f)
New changes:
7c9fe89b8 Simplify ve.test.utils.runSurfaceHandleSpecialKeyTest API
0e3c75e66 Add more tests to LinearArrowKeyDownHandler
058362830 LinearArrowKeyDownHandler: Test Selection#extend fallback
8c6617d90 Keydown test refactor
91a909d63 Assert defaultPrevented state in KeyDown tests
003dacf3b LinearDeleteKeyDownHandler: Test shift+delete
1872158c5 LinearDeleteKeyDownHandler: Test delete next to link
b2af2a2c3 LinearEnterKeyDownHandler: Add more tests
4e5efa956 KeyDownTests: Remove unused constructor calls for all static classes
1cafb7328 KeyDown tests: Add tests for missing cases to cover tab/escape/enter
58af8d497 Add tests for ve.ce.AnnotationFactory/NodeFactory
617bc24a4 Delete unused ve.ce.modelChangeFromContentChange
50704fa1c Keydown tests: run asynchronously
af9a01b97 Use native promises instead of jQuery promises
df212669a Localisation updates from https://translatewiki.net.
f6af901dc Fix test in Chrome 70
9cc6dae7e Remove broken checks for DM code coverage
ce3a9199a LinearEnterKeyDownHandler: Add test for edge case
0a9dd3636 Remove false coverage of TableNode/TableSelection code
16679a3c0 Remove setupToolbar from DummyTarget to avoid false code coverage
7ac88df77 Basic tests for getClientRects in ve.ce.Selection and FocusableNode
78f14ac1f ve.ce.Selection: Add getDirection tests
7ec7efff0 KeyDown tests: Remove unnecessary setTimeout
26e022d23 KeyDown tests: Un-nest functions
df1e0af6c KeyDown tests: rename defer -> then
f03a9f90b Allow ES6 in tests
0ee55022b ES6 eslint follow-up
6c288b44f ve.ce.Surface tests: Trim when asserting expected text

Local changes.

Bug: T207077
Bug: T207078
Bug: T207079
Bug: T207080
Bug: T207083
Bug: T207654
Change-Id: I2e1f664d6f657e2ac26a271f401dc790c2a8b193
2018-10-23 11:49:34 -07:00
jenkins-bot 1bea2d1eb8 Merge "Revert "Revert "Follow-up I38eda4a: Add unit tests for lang/dir in target init""" 2018-09-12 22:05:46 +00:00
Bartosz Dziewoński eefcb7957d Add another test case for stripping RESTBase IDs
Bug: T108506
Change-Id: If46d09364bff9b7e2b4839df183fa2cb3ed25243
2018-09-04 15:44:34 +00:00
Esanders a21e95b67a Revert "Revert "Follow-up I38eda4a: Add unit tests for lang/dir in target init""
Re-enable tests, but disable setEditorPreference API calls in setup.

This reverts commit d5fe71fd6e.

Change-Id: Ib6f0f18acc1ccb40cb6c055609dc1484b381bc8f
2018-09-04 13:45:52 +01:00
jenkins-bot 05dae065c9 Merge "Revert "Follow-up I38eda4a: Add unit tests for lang/dir in target init"" 2018-09-03 22:56:52 +00:00
Bartosz Dziewoński d5fe71fd6e Revert "Follow-up I38eda4a: Add unit tests for lang/dir in target init"
Causes random failures in other unit tests due to API requests.
This reverts commit 031d2dd50e.

Bug: T203412
Change-Id: Ia94b090687ba8d6023060e6dbe10b6a45035e76a
2018-09-03 22:39:27 +00:00
Bartosz Dziewoński efd1a957f5 Remove unnecessary "eslint-disable-next-line new-cap"
Change-Id: I94f31ef934f9a0192ac906cada5dba05214d259e
2018-09-03 23:11:29 +02:00
jenkins-bot 31ee84540b Merge "Follow-up I38eda4a: Add unit tests for lang/dir in target init" 2018-09-03 16:18:46 +00:00
Ed Sanders 031d2dd50e Follow-up I38eda4a: Add unit tests for lang/dir in target init
Change-Id: I426f88ce3982deb850c4cedb110b87c9a59157ef
2018-08-31 14:45:54 +01:00
Ed Sanders 10ce48a57e Remove unnecessary IE10 blacklist
IE10 support was dropped from MediaWiki core in 1.31.

Change-Id: I1c8c790428df5afe019e10a65ba5e891f5895dfb
2018-08-30 19:01:59 +01:00
James D. Forrester 4755d7f1be build: Upgrade eslint-config-wikimedia to 0.7.2 and simplify config
Change-Id: Ib78c51a177b9f4b4764587232c7d32ffcfdd8aca
2018-08-14 11:02:20 -07:00
Bartosz Dziewoński 2512baa68e Add Converter test cases for captions in images and gallery images
Many of the details of the behavior don't really matter, but
I suppose it doesn't hurt to document them.

We really want to test two things:
* When converting from DOM to model data, a <mwImageCaption>
  or <mwGalleryImageCaption> is always generated, even if
  DOM has no caption.
* Model data that doesn't have <mwImageCaption> or
  <mwGalleryImageCaption> is nevertheless still valid and
  converting it to DOM doesn't fail.

Follow-up to Ie82fb339f6bd8ae1b289235bf5402490722d9a7c.

Change-Id: I0a10351e9c1589afbee76d8a85f869987de3de22
2018-08-14 11:02:09 +02:00
Ed Sanders 5cdbc17899 Pass video thumbtime to thumbnail metadata request
Bug: T198150
Change-Id: Ic8895c359a92fcc60ac486e3daf86db02599d3ff
2018-06-28 15:52:50 +01:00
jenkins-bot 0b3b229c16 Merge "Add MW-specific DiffElement tests" 2018-06-20 18:47:54 +00:00
Ed Sanders 534b3d66cb Update VE core submodule to master (a1fd90540)
New changes:
71baf1c02 Create an 'htmlMsg' function for HTML messages with HTML or DOM arguments
9a7af223e Use ve.htmlMsg to highlight values in attribute changes
a1fd90540 DiffElement: Refactor describeChanges tests

Local changes:
Implement getHtmlMessage in mw.Platform and use for DiffElement

Bug: T195243
Depends-On: Ib4ad16858e4241d33d018830dbcfded63ff703af
Change-Id: Ib5fa39e4f2f529948354b03a141542e23d169fe0
2018-06-20 12:53:43 +02:00
Ed Sanders b6d03da278 Add MW-specific DiffElement tests
Change-Id: If3dfa660b49bceef2da8dc7ec113225aaa7f59f5
Depends-On: Ib4ad16858e4241d33d018830dbcfded63ff703af
2018-06-19 16:04:08 +01:00
Ed Sanders 6e03492011 Replace deepEqual with strictEqual for non-objects
Change-Id: I0a89092f2c57a4c2348c4231fdfea1c2c520fc10
2018-06-19 16:00:28 +01:00
jenkins-bot c04e934361 Merge "Simplify conversion of images" 2018-06-07 20:51:51 +00:00
jenkins-bot 1dc8d5db51 Merge "Add preview mode converter tests" 2018-06-06 21:28:19 +00:00
jenkins-bot 5e45047fe0 Merge "Fix parsing of external links, now Parsoid adds 'external' classes" 2018-06-06 21:28:10 +00:00
Ed Sanders 7dbc4c7140 eslint: Move qunit env flag to test config
Change-Id: I290c436b25e306a3657324304ded08011ffcea7a
2018-06-05 21:12:56 +01:00
Ed Sanders b668286e9b eslint: Enable qunit/no-assert-equal,no-early-return,no-negated-ok
Change-Id: I6a202a496ba9359c63febf623ef8b4dd3caa47dd
2018-06-05 20:41:39 +01:00
Ed Sanders b79c98f1e3 Simplify conversion of images
Assume that images provided by Parsoid will adhere to the DOMspec.

Change-Id: I52eb4f27e6b1e1cd092133c3e27e42021ae83783
2018-06-05 13:05:40 +01:00
Ed Sanders 98ec3947a9 Add preview mode converter tests
Change-Id: I58a2c9a9e8fd0bf8254819b960c5a5ad8190f643
Depends-On: I3f1a4772cbf67091b5fd52bab610390ebd9b16ef
2018-06-04 19:00:34 +00:00
Ed Sanders cb36c6ded3 Fix parsing of external links, now Parsoid adds 'external' classes
Bug: T196025
Bug: T188656
Change-Id: I89b8ba378108bde6c8db0144ed306cbc8471111b
2018-06-01 08:47:46 +00:00
Ed Sanders a7f5a76bca build: Introduce eslint-plugin-qunit
Change-Id: I0a169916eaf260500ca6a172e6fb2b0c61f8d422
2018-05-30 21:04:02 +01:00
David Lynch 300d5ec486 MWInternalLinkAnnotation: test fragment behavior
Bug: T194463
Change-Id: I08d587c4e4cd12b1362915a22b37d9a0224de198
2018-05-18 20:55:35 +02:00
Ed Sanders 3dd3073bd2 Update VE core submodule to master (a8e0eef6d)
New changes:
a8e0eef6d Simplify usage of dummy target

Local changes:
Simplify usage of dummy target, ceating an MWDummyTarget, extending
DummyTarget instead of mw.ArticleTarget.

Depends-On: I01a6860387087db8149c73793e9bd4294d33aea8
Change-Id: I227486159fe416c219e2c37a1d054201084fe285
2018-04-30 13:05:02 -07:00
gopavasanth 3e541774e8 Change http://www.mediawiki.org/ to https://www.mediawiki.org/
In other files, links to mediawiki site are https://www.mediawiki.org/

Bug: T189687
Change-Id: I0279a7ffdb9544a87a11ffdab7ff5d5d38ea6035
2018-04-23 15:08:43 +00:00
James D. Forrester 58c5643f1e Update VE core submodule to master (a64ba1cc6)
New changes:
aee32648a Allow access to a fragment's async state
a64ba1cc6 Add extra copy/paste tests for <span> clipboard keys

Local changes:
* Fix signature of runSurfacePasteTest

Change-Id: Idbc2f2c25eaf0606c51d9dff8ec23562f5244c08
2018-04-17 16:02:04 +00:00
Ed Sanders 637d869d99 Convert href-less links to spans
Bug: T191598
Change-Id: I0993869ed53842f9de60ff7e68f79a69da1d23c7
2018-04-09 18:04:08 +00:00
James D. Forrester ac2b5e1ef8 Update VE core submodule to master (3ea11b8b1)
New changes:
f97bdb039 PlainTextStringTransferHandler: Allow as paste
5a0007e49 Expand ce.Surface tests for plain text pasting
bab28c8d3 Localisation updates from https://translatewiki.net.
82bc2c014 Fix language input design now that indicator-next is gone
c14c6ac56 Fix z-index of context elements in diff

Bug: T190590
Bug: T190916
Change-Id: Ibe8b1b62a8300f380b753f978bed6a6f8d520044
2018-04-06 10:52:54 -05:00
James D. Forrester ece430258b Update VE core submodule to master (dc98cb7ec)
New changes:
617708fe1 Update rel attribute checks to be aware of multiple rel values
c22428f81 ve.ce.LinearSelection: Don't throw exceptions only to catch on the next line
406db2ce3 Localisation updates from https://translatewiki.net.
33f94faf7 tests: Update ve.dm.Converter#getModelFromDom cases for new metadata behavior
d85bf0d68 Use documentFragments when DOM splicing
110519f1c Update documentation now describeChange can return jQuery
ff7fa5fa0 Change http://www.mediawiki.org to https://www.mediawiki.org
09faa4a3d Fix error with tabs per this:
a329edf67 Localisation updates from https://translatewiki.net.
da864cc5e demos: Separate out and fix mobile-dist
380cc90c5 VisualDiffs: Unit test for timeout behaviour
601173c02 Clarify the "Log" button label on the debug bar
c52a2e07e demos: Fix auto-save by only storing doc state if not recovered
1b8d2c457 Auto-save: Save and restore last known selection
9e279e77e Fix deprecated icon name 'alignCentre' > 'alignCenter'

Local changes:
tests: Update ve.dm.Converter#getModelFromDom cases for new metadata behavior

Bug: T189687
Bug: T189939
Depends-On: I2059d8ce9140b733ee92436de395d735ab06b9df
Change-Id: I3c210112c84e2d2bd8226de3dad195bf17afb4c2
2018-03-20 16:38:54 -07:00
Jforrester 16437646fe Merge "Update VE core submodule to master (ca771b8bc)" 2018-03-06 13:14:21 +00:00
James D. Forrester d144599cea Update VE core submodule to master (ca771b8bc)
New changes:
7551f6c66 [BREAKING CHANGE] Rename class ve.dm.IndexValueStore->ve.dm.HashValueStore

Local changes:
Follow-through rename of IndexValueStore->HashValueStore

Bug: T188900
Change-Id: If60d0c637fe92f0e7afe916c064fafb17980d063
2018-03-06 12:55:30 +00:00
jenkins-bot eb125877e2 Merge "Revert "For empty / whitespace-only headings, output <p> instead of <h#>"" 2018-03-06 12:22:31 +00:00
Ed Sanders a274bdb8f7 Revert "For empty / whitespace-only headings, output <p> instead of <h#>"
Parsoid now handles empty headings for us in
scrub_wikitext mode (which we use).

This reverts commit 884f301aa0.

Bug: T187913
Change-Id: I8690bbced64be76622929f78f9c9e0d8f85d4be8
2018-03-05 23:27:52 +00:00
David Lynch 09237b71ef mwExample: add test case for cross-document numberedlink paste
Bug: T188429
Change-Id: I722f30f07abd65dba93e9ba297b6933ef8ca79c2
2018-03-05 13:35:25 -06:00
David Lynch 795b428477 MWNumberedExternalLinkNode: set an explicit type
This lets copy-paste between documents retain the numbered status rather than
falling back on pasting "<a>[3]</a>".

Update the part of LinkCache which selects on mw:ExtLink, so it will handle
possible multiple values in the link rel.

Bug: T188429
Change-Id: Ia5e4c9fa45e94da9cbfcd2a42d017d0fda1c511f
2018-03-05 11:59:41 -06:00
Ed Sanders d17121d1f3 MWImageNode: getHashObject -> getHashObjectForRendering
The latter was introduced for this very purpose: defining
which attributes affect the rendering (in this case the
thumbnail URL). getHashObject should be reserved for making
full semantic comparisons.

Bonus: Don't distinguish between block/inline images
for URL caching purposes.

Change-Id: I6e6d2547a0d110f07c4d18b8179c168d8c251059
2018-02-24 12:44:53 +00:00
Ed Sanders 05a504887d Drop IE10 support
Change-Id: Ib1cb8fb32c499ba0bdc87ec55e1e2e95d2eb39ec
Depends-On: I68c882e64fba95d5e1bf41f64658fcef7524dcf5
2018-02-22 00:47:38 +00:00
James D. Forrester 4ce103abb9 Update VE core submodule to master (c5fddd508)
New changes:
21a5d55b8 [BREAKING CHANGE] Store metadata as block nodes in the main data list
2f9868aae Localisation updates from https://translatewiki.net.
7a224cf4b Remove <style> tags from pasteTarget ASAP
fb4e894b6 Workaround missing child selector in OOUI for menuLayout
fa4f35281 rebaser: Fix sequencing of server operations
931ee29f6 SurfaceSynchronizer: Also translate selections that are not mentioned in the change
d232b8f04 Disable undo/usurp within SurfaceSynchronizer
d1b7fc597 ve.dm.Change: Truncate stores as well as transactions on conflict
7606f684d rebaser: Only apply artificial delay to submitChange events
9473e8b42 Toolbars: Replace $.width with clientWidth/offsetWidth
abb8f2075 ve.ui.DesktopContext: Remove unused CSS
050414205 ve.ui.DesktopContext: Remove old unnecessary CSS
7b8cbb830 Failing test case for losing annotations
5447d33e4 CommentNode: Protect against call after teardown
bf98ca2b6 Rebaser: Use better hack for disabling history commands
90c07f46c Rebaser: uninitialize fully
2a59016e4 Move updatingName recursion guard out of debounce

Bug: T56299
Bug: T185532
Bug: T185544
Bug: T185599
Bug: T185716
Bug: T185747
Change-Id: I45251811e3fbb3323a25ca5cf364e4cb94aa1d01
2018-01-29 08:43:08 -08:00
David Lynch d97b734352 MWWikitextStringTransferHandler: Perform Parsoid cleanup on result
Parsoid markup delivered as a result of a paste was being handled differently.

Bug: T183173
Change-Id: Ic563d2c5cd1f663f35860892b369fb7ba34b9c55
2018-01-22 14:43:19 -08:00
James D. Forrester 0a7a845a42 doc: Bump copyright year
Change-Id: I0b299c840ede1a1b8552cecfc70c5760ab036181
2018-01-03 17:45:07 +00:00
Ed Sanders 169ce28c44 Remove duplication from browser whitelist
The whitelist isn't checked for blacklisted browsers,
so if all non-blacklisted browsers are whitelisted,
set the whitelist definition to all (null).

Change-Id: I8ee3569d9d5be2eda9153f1b087c1be385f93d9c
2017-10-12 16:54:46 +01:00
Željko Filipin fe09c22e33 Delete Ruby Selenium tests
Tests are broken most of the time. Ruby framework will be deprecated next month. Selenium tests
that are needed should be implemented in Node.js.

Bug: T164479
Change-Id: I8ec1d9b19b9538936c508daf2b50249a705b3170
2017-09-29 16:55:12 +02:00
James D. Forrester 2c70792c4f Replace constructive with progressive UI flag
Change-Id: Iae36e978978ed6642f44606a934c540cf5f8537f
2017-09-26 15:14:32 -04:00
Arlo Breault 3e96d8ed5a Use figure-inline instead of span for inline media
Bug: T118520
Depends-On: I0681c39301e52a3368b53d38ed518ac66e18f0d6
Change-Id: Id8ec5b77207f43fc7c379b35859dc09f264e2c04
2017-09-05 12:17:14 -04:00
David Chan c87abccdf9 MWLinkAction: Don't annotate close tags
Change-Id: I273838eba4cb259cf053ce88378da10b0e241155
2017-08-13 11:33:43 -04:00
Timo Tijhof d8a532c87e tests: Remove QUnit.newMwEnvironment from ve.test.utils.mwEnvironment
Two problems:
* At least one caller already calls QUnit.newMwEnvironment(), which means
  it runs twice which is unsupported and breaks If4141df10eae55 in core.
* It assumes the return will contain 'setup' and 'teardown', which
  is internal and also changes with If4141df10eae55 in core.

Using 'setup' and 'teardown' for this within VE-MW is fine.

First attempt is to simply remove it. Uses that already called
QUnit.newMwEnvironment are effectively unchanged. Uses that didn't
and only pass ve.test.utils.mwEnvironment to QUnit.module directly
will now run without core's QUnit.newMwEnvironment() setup/teardown.

If that breaks anything, we can add it back to those tests that actually
need it.

Change-Id: I9ef0368ba58daf1c7dc92d083ae79c108cc27638
2017-07-20 00:15:51 +00:00
Ed Sanders 835a775a49 build: Upgrade grunt-eslint from 19.0.0 to 20.0.0
Mostly indent and regex fixes.

Change-Id: Iaf9d02363c78cb71deec5c4cab53a05b67f60600
2017-07-18 12:55:33 +01:00
David Lynch 7e678dc81a Update VE core submodule to master (b528a5321)
New changes:
44d2d666c Remove custom icon sizing from block slugs
793d131f9 Ignore covering annotations when looking for plain text pastes
b0025f3ab dm.Document fixupInsertion: check suggestedParents as well
73ce638f1 ve.ui.TableLineContext: Fancier popups
9d54d531e Visual Diff: add internal list diff
4f4e121b5 DiffElement: Add hacky support for template-defined references

Local changes:

dm.SurfaceFragment tests: exercise fixupInsertion for mwHeadings

Core VE doesn't have any elements with suggestedParents, so make sure this is
properly tested.

Bug: T153315
Bug: T162819
Bug: T164017
Bug: T165865
Change-Id: I01489226d282abe71020e65358ead24fe07692f7
2017-06-28 20:57:19 +01:00
Ed Sanders c4f93b1411 Ensure MWInlineImages get the ve-ce-leafNode class
Without this class, offset calculations fail and model/view
sync can be lost.

Bug: T167009
Change-Id: Ie7b6551ac5a532949c14122b9ee7584a794af0f2
2017-06-26 12:43:23 +00:00
Ed Sanders 004ca16a8f Remove mobile browsers from the blacklist
They are already blacklisted by MW:
https://www.mediawiki.org/wiki/Compatibility#Browser_support_matrix_.28mobile.29

Change-Id: I8d6bfc415604a74b6da82d8c4b8f7d9ec7b9d89d
2017-05-22 14:58:54 +02:00
James D. Forrester 8e88db4232 Follow-up 7e72163ea: Fix CBN alien unit test I missed and force-merged
Whoops.

Change-Id: I21e30efd930458f6c1509e2f3d947f94d5ec5ad2
2017-05-21 16:32:08 +02:00
James D. Forrester 229d6cdf3b Update VE core submodule to master (fbeb0db2c)
New changes:
d61440346 Add logging to the rebase server and client
d1d2539ae rebaser: Add script to convert a log file to a test case
0896d5f05 lib: Update README files for OOjs and OOjs UI
045ae87fb Localisation updates from https://translatewiki.net.
04b276e16 VisualDiff: Make annotation whitespace trimming configurable
dd04912e5 Localisation updates from https://translatewiki.net.
11fc30709 MobileContext: fix button spacing
7898acd0b Fix typos and minor lint issues
4e3e2deb9 Avoid using the global namespace in test files
1ed81efa1 build: Update eslint to 0.4.0 and make a pass

Bug: T163473
Bug: T164166
Change-Id: I4bab4260d6b05ff0277cacd167186336acc02080
2017-05-10 10:02:54 -05:00
Ed Sanders 59b3f2e0dc Avoid global variables in tests and build
Change-Id: I44dd3c3980f88e660798962c4aa0229b62760796
2017-04-29 12:37:53 +01:00
Ed Sanders 381f143a27 QUnit: Remove all code for counting tests
Change-Id: Ifc20282a4da1aed9be2a9215c13f9a4e3e30168f
2017-04-28 17:03:20 +01:00
jenkins-bot 323f2479ea Merge "Add basic support for Parsoid HTML5 video/audio" 2017-04-28 15:26:44 +00:00
Ed Sanders 0c2bb3da9c Add basic support for Parsoid HTML5 video/audio
Change-Id: I30b787261c57e912e571170d8aa2d04726b6aa3a
2017-04-28 14:08:18 +01:00
David Lynch 88f3191926 tests: MWInternalLinkAnnotation getFragment
Also, fix docs for it. It could also return null for a missing fragment.

Change-Id: Ib6df379c5c3686a59026b6b66f26b3050ede231a
2017-04-27 11:21:58 -05:00
Ed Sanders a7477a869f Move out Cite-specific unit tests in WT transfer handler
Change-Id: Ibea6994a208e4b0b1022896eb31dd2f36f0fd6c6
2017-04-20 17:07:46 +01:00
James D. Forrester 3a382e6398 Update VE core submodule to master (fc46ed86f)
New changes:
719f8c667 ve.ce.DocumentNode: toggle all contentEditable properties, not just the outer one
35cadd7db Introduce single-line mode for surfaces
41fe321b2 Restore pointer-events comments for IE10 support
42f556820 Upgrade to jQuery v3
c1b8f142c Pass toolbarConfig position to actions toolbar by default
0d4c6a5fc Fix styling of table context in MW theme
db6eb4ebf Localisation updates from https://translatewiki.net.

Bug: T161944
Bug: T162808
Bug: T162830
Change-Id: I9b11673b4a77b7aebcdc282953d83ade08a8d8bd
2017-04-17 11:25:00 -07:00
James D. Forrester ca6cf4e914 ve.test.utils: Don't try to write user options in test suites
Bug: T162810
Change-Id: I8c2588fe4f7577b962200b583efd68f9cb80367e
2017-04-13 00:42:51 +00:00
James D. Forrester d1c24ce226 Update VE core submodule to master (da9c49395)
New changes:
dc0cad28c tests: Factor out ve.dm.TestRebaseClient/Server into their own files
98061108b Convert RebaseServer tests to data provider
3e746a51b Update OOjs to v2.0.0
16231a812 [BREAKING CHANGE] Drop support for Internet Explorer 9
64daeb4b5 Localisation updates from https://translatewiki.net.
3310e876c Update DOMPurify to 0.8.5
579033a83 Follow-up 16231a81: Drop IE9 support in createDocumentFromHtmlUsingIframe

Bug: T162277
Change-Id: If17c6a3fac0920db29f80069f344ffd6be46c3c9
2017-04-10 08:32:51 -07:00
Bartosz Dziewoński 5afd15b2cc ve.ui.MWLinkAction: Use delayed sequence
The trailing space at the end of the regexp is no longer required to
prevent matching (and executing) too soon. We also don't need to know
about trailing punctuation.

However, to prevent the match from ending in the middle of typing, we
have to allow for ' ' and '-' at the end of the match.

Tweaked tests to better match the intent now that a trailing space is
not included, but they pass without changes too, the command is quite
permissive.

Bug: T117165
Depends-On: Ie36046fa43ce49f8a25c99f2de577eb296d68a51
Depends-On: I2af0a738afa43295bf6d7d612cac4349bc6cd20d
Change-Id: I7c28d5c93b1a441387ad05a75846af83d2b21b6a
2017-03-15 21:58:13 +00:00
Ed Sanders d85e8da9e2 Remove MSIE from blacklist, already blacklisted upstream
We support all versions of IE that MW supports, so no need
for additional blacklisting.

Bug: T160494
Change-Id: I771459b4d6a0e2d5781a69a905a51323369b3b66
2017-03-15 17:42:34 +00:00
James D. Forrester 6ab24fe9f0 Update VE core submodule to master (41134af2b)
New changes:
1e12d0174 Generalize DiffElement logic (improves lists and tables)
24e0c7a94 Localisation updates from https://translatewiki.net.
32759ae86 Allow variable-length sequences without a fake space terminator, use for autolinking
82c204ba0 QUnit.assert.equalHash: Correctly compare JSON representation
2e5462610 DiffElement: Allow a node change to be an attribute change *and* a linear diff
41134af2b ve.ui.LinkAction: Allow autolinking ranges including trailing spaces again

Local changes:
Updated tests for 32759ae86: the autolinkUrl command no longer expects
trailing whitespace to be included in the range.

Bug: T117165
Bug: T149537
Bug: T158518
Change-Id: I5c2d5b97894fc93f49ce6270a198f3dfdcd09986
2017-03-14 12:47:32 -07:00
Bartosz Dziewoński b109c3405f ve.ui.MWWikitextStringTransferHandler: Avoid API call for magic links
Updated tests to stop assuming that MWWikitextStringTransferHandler
always goes through an API request and Parsoid.

Bug: T117165
Change-Id: I24dffaaf3b4051b1b807ec29ac456d24da2f1fe9
2017-03-13 19:54:19 +01:00