Commit graph

572 commits

Author SHA1 Message Date
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