Commit graph

4745 commits

Author SHA1 Message Date
jenkins-bot 53cf713cdb Merge "Add test cases for impossible follow vs. rollback edge case" 2020-05-12 02:03:35 +00:00
James D. Forrester c35d47fe0b Use QUnitTestModule instead of deprecated ResourceLoaderTestModules
CI already ensures that VisualEditor is loaded alongside Cite, so
the defensive check in the code isn't needed; ext.cite.visualEditor is
defined statically, it's just injected into the page dynamically in the
VisualEditor code handling VisualEditorPluginModules.

Bug: T232875
Change-Id: Ie5e096feca92f9c3ef13c732f3f1ae491e2b7d03
2020-05-11 20:51:24 +00:00
Translation updater bot f09db41375 Localisation updates from https://translatewiki.net.
Change-Id: I2f64579ac40ba1fe952148c487b94cd4d5b82a03
2020-05-08 09:27:51 +02:00
Subramanya Sastry eb8e07c69c Sync up with Parsoid citeParserTests.txt
This now aligns with Parsoid commit 1e72ddefc2df8d5b38d7b370d67a87b48d8a09f7

Change-Id: Ic75ac33c92997427751d037339f7eb79027356a2
2020-05-07 12:14:19 -05:00
Translation updater bot 60528d51aa Localisation updates from https://translatewiki.net.
Change-Id: Ic0b1f2560a421368c7ffbf2d9367e048551a81e7
2020-05-07 08:33:58 +02:00
jenkins-bot fb4fddfb89 Merge "Add a newline in wikitext before autogenerated reflist" 2020-05-06 20:10:45 +00:00
Thiemo Kreuz 6389459b1e Refactor newline logic for auto-generated <references> sections
This change does have two effects:

1. Instead of prepending a newline individually in every possible
code path, we do it one time at the end. But only if there is
something in the output. This does not change anything, as proven by
the unchanged parser tests.

2. I removed the newline between the <h2> and the generated
<references> element. Note that both these elements are created in
the same method, next to each other. So there is no way this can
influence other wikitext. Unfortunately this code path is executed
only when using the *preview* function, and impossible to be covered
by parser tests because of this. However, it's covered by unit tests.

This refactoring is motivated by, but not required for T148701.

Bug: T148701
Change-Id: I6691c70f8e3fa3f21e2d11035bed9cdc2dc87093
2020-05-06 19:07:40 +00:00
Bartosz Dziewoński 3678215a77 Add a newline in wikitext before autogenerated reflist
Previously the reflist was added at the end of the last line of text,
which messes up paragraph wrapping (as seen in many test cases), and
generated invalid HTML when the last line was a list item (T148701).

(second try, previously reverted in 8c933d03c5)

Note this affects only pages where the <references /> tag is missing,
and the references section is auto-generated at the very end of the page.

Bug: T148701
Change-Id: Ib2101346434a4e317b5fc7379215b60c7020cb2b
2020-05-06 20:51:25 +02:00
Translation updater bot 49a9c0e787 Localisation updates from https://translatewiki.net.
Change-Id: Icbbaa73ed15949a3e0a46659cfa21a610c592fb9
2020-05-06 08:29:13 +02:00
Translation updater bot 7ae74d01cd Localisation updates from https://translatewiki.net.
Change-Id: Ic2f6378c88304ed8e9899eb2e68ee71de17de24c
2020-05-04 09:14:56 +02:00
C. Scott Ananian 51c211047a All extension DOM processors should extend Ext\DOMProcessor
Change-Id: Ide9700747b3ecea9da59911c6eb342569be4c9b8
2020-05-03 21:15:41 +00:00
C. Scott Ananian b4aefae357 Add extension registration mechanism to SiteConfig
This will be called by the ExtensionRegistry in core for extensions
that are Parsoid-compatible.  The set of registered extensions is part
of the SiteConfig, which bundles all the configuration for a particular
Parsoid instance.

In addition, renamed some classes to make things clearer:
`ExtensionModule` is the thing which is registered; it bundles a
number of `ExtensionTagHandler`s, `ContentModelHandler`s, and DOM
processors (which don't have a proper interface yet).  There are a set
of core handlers, which include wikitext, JSON, and a few extension
tags (<pre>, <nowiki>, <gallery>).

Change-Id: Iadbeb378bacb09264a4b1d3ee430a914eec23e48
2020-05-03 15:43:11 -05:00
Translation updater bot 0d09517071 Localisation updates from https://translatewiki.net.
Change-Id: Ie37f305997c342b3c27dd320752012b3d89c0f3e
2020-04-30 08:36:59 +02:00
Arlo Breault bb5f2fb93d Move DOMDataUtils::addAttributes to DOMUtils
Bug: T250888
Change-Id: Ia12bbe21c21b188a8b1fdc4b8cee0aa153d2b993
2020-04-28 13:30:56 +00:00
Translation updater bot cb336d203c Localisation updates from https://translatewiki.net.
Change-Id: Ifa4c3dd6633468bffd316fd8407c84e88876dc13
2020-04-27 09:02:16 +02:00
jenkins-bot 99d5ad6d36 Merge "eslint: Remove unused rules" 2020-04-25 18:50:07 +00:00
Ed Sanders bd8010c360 eslint: Remove unused rules
Change-Id: Iaba2e171da4a969454de1006883a5320a402d9c8
2020-04-24 22:19:27 +01:00
Translation updater bot fa9d22015a Localisation updates from https://translatewiki.net.
Change-Id: I05f76b5373e1b3ff1ab41ddebe64b318aa76be1f
2020-04-24 08:21:55 +02:00
libraryupgrader f819e6374c build: Updating dependencies
composer:
* mediawiki/mediawiki-codesniffer: 29.0.0 → 30.0.0

npm:
* eslint-config-wikimedia: 0.15.0 → 0.15.3
  The following rules are failing and were disabled:
  * mediawiki/class-doc

* grunt-stylelint: 0.14.0 → 0.15.0
* stylelint-config-wikimedia: 0.9.0 → 0.10.1

Change-Id: I5e285118302582daa288d0afc30860ab0693d332
2020-04-22 06:25:11 +00:00
Translation updater bot 137119e9b5 Localisation updates from https://translatewiki.net.
Change-Id: I7050e327b3278a4f82e3e61dd441cebbfed2e19e
2020-04-21 08:45:04 +02:00
Translation updater bot 71b01581d1 Localisation updates from https://translatewiki.net.
Change-Id: Ie59dd3aa412f74b1953538e7f8df2611367b959c
2020-04-20 08:40:49 +02:00
libraryupgrader ab2a68d8ec build: Updating grunt-banana-checker to 0.9.0
Change-Id: I4fac62c79bb08c5d09f16a1ad5fe003e2d357f21
2020-04-19 01:54:20 +00:00
Subramanya Sastry 5626d6ca62 ParsoidExtensionAPI: Add domToWikitext method + fix Cite to use it
* We only had a htmlToWikitext API method whereas we have been
  trying to stay in DOM land all along. With this change, extensions
  can use the intuitive domToWikitext method when they are dealing
  with DOM nodes.

* Renamed WTS's serializeHTML method to htmlToWikitext and added
  a domToWikitext method there as well which ParsoidExtensionAPI uses.

* Turns out that <ref>s were converting DOM to HTML and then using
  the htmlToWikitext method. I switched it use the domToWikitext
  method. However, turns out WTS requires a <body> element for its
  top-level method!

  For now, while we figure out if that can be changed to be more
  lenient, added an internal DOM -> HTML conversion in the
  domToWikitext method. When we fix WTS, this DOM -> HTML -> DOM
  roundtrip can be eliminated.

Bug: T242746
Change-Id: I340d5a363e0d1b8ed6d0ffb0234315e6d9523a76
2020-04-17 20:58:53 +00:00
Subramanya Sastry 18462e0458 Extension API: Adopt somethingToSomethingElse naming wherever possible
* Gergo's sensible recommendation to make the API more readable and
  easier to use.

Bug: T242746
Change-Id: I6ed1d4bb552a15b39552f24cd425dd4d63cce847
2020-04-17 20:58:50 +00:00
Translation updater bot 39772c09ba Localisation updates from https://translatewiki.net.
Change-Id: I49f7726f7f6fa3978577f3230d04241d02d9c98a
2020-04-15 08:23:17 +02:00
Translation updater bot 07f1833808 Localisation updates from https://translatewiki.net.
Change-Id: Ib798509e8a76d9cb4b814fddb9fe5db50c6785f4
2020-04-14 08:23:09 +02:00
Translation updater bot 53aefed04f Localisation updates from https://translatewiki.net.
Change-Id: If1003b56d6b13b67e91f29ffd173741761303c32
2020-04-13 08:59:45 +02:00
Translation updater bot 0bcf661e07 Localisation updates from https://translatewiki.net.
Change-Id: I580fe5cd8a2ac0ee393b27d47565cb159ae34ad5
2020-04-09 08:38:28 +02:00
Translation updater bot 013fff9c9b Localisation updates from https://translatewiki.net.
Change-Id: Ie3c50e679bb38cb16a6dc5601621f1597c0d7613
2020-04-07 08:37:41 +02:00
jenkins-bot 06190bbab7 Merge "Localisation updates from https://translatewiki.net." 2020-04-06 07:24:26 +00:00
Translation updater bot 344b9dc645 Localisation updates from https://translatewiki.net.
Change-Id: Idd6a9b410154378a17ef86f53cced7e7057aff48
2020-04-06 09:01:30 +02:00
Translation updater bot a09d25cde9 Localisation updates from https://translatewiki.net.
Change-Id: Ibb71914f9c1c5499318612013c3f08f427ea41f9
2020-04-06 08:19:01 +02:00
Subramanya Sastry d5c4583649 ParsoidExtensionAPI: Cleanup the toHTML / innerHTML mess
This is cleaner and less prone to subtle errors since it forces
extension developers to explicitly choose the more performant version.

Bug: T242746
Change-Id: Ia25bc3ae261b43dba97d369940065254faacdd80
2020-04-03 18:48:01 +00:00
Translation updater bot 96f95672a5 Localisation updates from https://translatewiki.net.
Change-Id: I3a0207a7b35bb31c439aeaa12e584d0c67028583
2020-04-02 08:24:00 +02:00
Subramanya Sastry 6db523d642 Extension Config Options: Reorg options for ease of use
Instead of 'fragmentOptions' and 'html2wt' for extension tags,
embed them as 'wt2html' and 'html2wt' components of an 'options'
property.

Bug: T242746
Change-Id: I4cf32a70ec76a415a98b68eef548206f8b917168
2020-04-01 23:54:18 +00:00
Subramanya Sastry c60c472366 Minor: Rename pipelineOpts to parseOpts in ParsoidExtensionAPI
Bug: T242746
Change-Id: I244e21b8222547aed9ba5bf902a46dfd114823f1
2020-04-01 23:54:16 +00:00
C. Scott Ananian 376c0418d3 Update parser tests to v2 (tidy by default)
The most common cleanup required by switching to tidy output was adding
missing <p>-wrappers to the last item before <references/>.

Bug: T246285
Change-Id: I7c8a08c4e6eff7caf4539a26fae475a4133f9a0c
2020-04-01 11:11:13 -04:00
Thiemo Kreuz a00b8d990d Add test cases for impossible follow vs. rollback edge case
While working on the patch I4303642 I was worried about the line

array_pop( $this->refCallStack )

in the rollback code. Since the patch changed the position of follow
elements in the stack, an array_pop() would pop different elements.

It turns out this is impossible. Rollbacks are only done for <ref>
elements inside a <references> tag, immediatelly after reaching the
closing </references>. It's impossible to use follow="…" inside
<references>. It will not be added to the stack, and therefore not
rolled back.

Even if the edge case would be possible, the *old* code that placed
follow elements on the *other* side of the stack would have been
wrong then.

The test cases in this patch try to hit this edge case, and are
expected to not be able to do so.

Change-Id: I4380bf443db17c6214dbfa2cbda62b46db04258a
2020-04-01 09:03:19 +00:00
jenkins-bot a27b4c82a6 Merge "Revert "Add a newline in wikitext before autogenerated reflist"" 2020-04-01 08:15:41 +00:00
Awight 8c933d03c5 Revert "Add a newline in wikitext before autogenerated reflist"
This reverts commit 90697ffe43.

Change-Id: I659ce1689603fd16e378fb8d3d5bd6d1089342b2
2020-04-01 08:03:55 +00:00
Translation updater bot d488194c0d Localisation updates from https://translatewiki.net.
Change-Id: I6244fc7ef59efe745952424e3fc8a7445fd1c64e
2020-04-01 08:24:32 +02:00
jenkins-bot 45f4990e34 Merge "Add a newline in wikitext before autogenerated reflist" 2020-03-31 19:37:34 +00:00
Bartosz Dziewoński 90697ffe43 Add a newline in wikitext before autogenerated reflist
Previously the reflist was added at the end of the last line of text,
which messes up paragraph wrapping (as seen in many test cases), and
generated invalid HTML when the last line was a list item (T148701).

Bug: T148701
Change-Id: Ifc873fc913e717026d80d54b570c594d1073fb42
2020-03-31 19:00:51 +00:00
jenkins-bot a00401fdfc Merge "Remove not needed code without changing anything" 2020-03-31 18:30:21 +00:00
Thiemo Kreuz 53b043f28f Remove not needed code without changing anything
This removes a few tiny pieces of code, and a large chunk related to
incomplete follow="…" attributes (see T240858). It turns out we don't
need to insert elements at the top of the ReferenceStack::$refs
array, because this array is reordered anyway in
ReferencesFormatter::formatRefsList()!

Incomplete follow refs don't have a number, and are ordered to the top
because of this, as before. This doesn't change with this patch.

Change-Id: I43036420be22feb8f0f287d9ccee2afd317df2a9
2020-03-31 18:15:14 +02:00
Translation updater bot 95168a2d9d Localisation updates from https://translatewiki.net.
Change-Id: I6cb5440acc405e47ae036d52054c3b55badc6d9a
2020-03-31 08:28:27 +02:00
libraryupgrader 6d9d6c3398 build: Updating gonzales-pe to 4.3.0
* https://npmjs.com/advisories/1179

Change-Id: I369aad2115d7f577b4cbabea2b9b2be4bd3e35fb
2020-03-31 00:54:54 +00:00
jenkins-bot ce919471e8 Merge "Localisation updates from https://translatewiki.net." 2020-03-30 07:24:31 +00:00
Translation updater bot 85b6cb3d73 Localisation updates from https://translatewiki.net.
Change-Id: Id1a1246dba33eb7fdb485832fe7a3f2303a7f7bc
2020-03-30 09:13:15 +02:00
Translation updater bot 653797fcbb Localisation updates from https://translatewiki.net.
Change-Id: Ic229386c7d1427e46f7631e820453db3f28e721b
2020-03-30 08:38:17 +02:00