Commit graph

5172 commits

Author SHA1 Message Date
C. Scott Ananian 187de4b769 The ::querySelectorAll() and ::getElementsBy* helpers don't always return array
The standard type for these returns is NodeList and HTMLCollection, which
are almost *but not quite* the same as an array.  In two places we got a
little complacent and assumed our non-standard DOMCompat workarounds would
always return arrays.  Tweaked the types of DOMCompat to report that they
return an `iterable`, which is a PHP7.1 "pseudo-type" that unifies
arrays and \Traversable types like HTMLCollection/NodeList.  This
allows phan to catch places where we slip up and assume an array type
return.

It does introduce a new wrinkle, though, since there is no simple way
to turn an iterable into an array.  We're using a simple
`iterable_to_array` helper function for this.

Change-Id: I35bdeb3afa30ef5182e71733a0a606aadcafb435
2021-07-31 03:50:07 +00:00
C. Scott Ananian a1d0fdd776 Allow Node::getAttribute() to return null
In PHP's DOM extension, one of the legacy bugs is that
DOMNode::getAttribute() can never return `null` (to indicate that the
attribute is missing), instead it returns an empty string in that
case.  This isn't (modern) spec-compliant behavior (it's a leftover
from ancient times) and we had to watch this carefully when porting
from JS.

In the time since the port, we've written new code and embedded this
assumption that DOMNode::getAttribute() will never return null into
the new code we've written.  Fix this.  Always use `getAttribute(...)
?? ''` (unless we're just doing an equality test against a non-empty
string, or the code is preceded by a `hasAttribute` test) so that our
code will work whether or not getAttribute returns null for a missing
attribute.

Change-Id: If33200e1053b2dd79abb5dfb3808c05ff3a0bbba
2021-07-30 20:34:47 +00:00
C. Scott Ananian 53e8dc7b39 Sync up with Parsoid citeParserTests.txt
This now aligns with Parsoid commit 88d4620278988d121761fb440952d1d66a70ce99

Required some newline fixes to resync after "Refactor newline logic"
(change I6691c70f8e3fa3f21e2d11035bed9cdc2dc87093 /
commit 6389459b1e) was merged
this morning.

Change-Id: I64fba6cc9330a55d4e1eeb5371164b3eb4efa508
2021-07-30 11:14:38 -04:00
jenkins-bot e584c5cf3f Merge "Refactor newline logic for auto-generated <references> sections" 2021-07-30 14:17:49 +00:00
Translation updater bot f1e23b3ef8 Localisation updates from https://translatewiki.net.
Change-Id: If0b79b3bcb0f0ffb8c8fdb116d9284b6682c4ac9
2021-07-30 08:27:25 +02:00
Translation updater bot c28ec1a826 Localisation updates from https://translatewiki.net.
Change-Id: I2d64466bde6b5ffc3514f702fdb0518c0b59c3aa
2021-07-27 08:13:14 +02:00
C. Scott Ananian fd3597cd39 Add class alias file to allow swapping in Dodo for DOMDocument
Change-Id: I56c10d2f4283e9e7b57bf722208fefab007cdf45
2021-07-23 12:20:06 -04:00
Translation updater bot 6beb1d25ba Localisation updates from https://translatewiki.net.
Change-Id: I7cb03d491de452ec6285775254c3d3d962d4a67b
2021-07-23 08:08:06 +02:00
libraryupgrader 0af1a039b0 build: Updating mediawiki/mediawiki-codesniffer to 37.0.0
Change-Id: Ia399fafc5280aab1c0cfc129529a822e8d8f8382
2021-07-22 12:34:32 +00:00
Translation updater bot 34dbb86730 Localisation updates from https://translatewiki.net.
Change-Id: I9e1ce120c7fb87350262661a4785a561c26bdad8
2021-07-20 08:20:22 +02:00
Translation updater bot 0219e5b715 Localisation updates from https://translatewiki.net.
Change-Id: Id0d08c66442d0f420a884e899c35b599fe7e019e
2021-07-16 08:43:19 +02:00
Translation updater bot 6b5afb1088 Localisation updates from https://translatewiki.net.
Change-Id: I8b5d1c377d3245d60531893599a47176149949c2
2021-07-12 08:06:14 +02:00
Translation updater bot d435430956 Localisation updates from https://translatewiki.net.
Change-Id: I27fa58c4888cea3b095b082a174ff0b04dc6d5fc
2021-07-08 08:46:33 +02:00
Translation updater bot 28e4d02e10 Localisation updates from https://translatewiki.net.
Change-Id: Ib864ded260d8dd6546f8aea2969b7b0062bbf7cf
2021-07-07 08:07:46 +02:00
Translation updater bot f46eca8c45 Localisation updates from https://translatewiki.net.
Change-Id: I22a48e571903a6ee5b3ff0a526a9061bb1a27a0d
2021-07-06 08:38:18 +02:00
Translation updater bot c9099d5383 Localisation updates from https://translatewiki.net.
Change-Id: Ia331e3fbf3fe129c006395b49b1eb9f80dabe144
2021-07-05 08:06:35 +02:00
Translation updater bot 38e6af7c41 Localisation updates from https://translatewiki.net.
Change-Id: Ia5dcb95a46c67ec5b5e83eab930c8fdf2b4ca69d
2021-06-29 08:13:33 +02:00
Translation updater bot 647842b6ff Localisation updates from https://translatewiki.net.
Change-Id: Ie906c92e1940e848228d3f3c5e0af39717b87904
2021-06-28 09:22:51 +02:00
Translation updater bot 4f266e5aeb Localisation updates from https://translatewiki.net.
Change-Id: I6534f09ddd5b390d03438bf6e17b5a4993eac86d
2021-06-24 08:26:50 +02:00
Translation updater bot 3cfbf69464 Localisation updates from https://translatewiki.net.
Change-Id: I93593aa14530128f3afdd34aa475fe9bfb3aa0a4
2021-06-21 14:11:27 +02:00
Translation updater bot c241590737 Localisation updates from https://translatewiki.net.
Change-Id: Ieab4d5bcf1d5cea1bfe90419221fb250d701c07c
2021-06-18 08:20:35 +02:00
Translation updater bot 30a5b3e5fd Localisation updates from https://translatewiki.net.
Change-Id: Iea7383e6802469716e4adada45c18d3140a3e2d8
2021-06-17 08:20:24 +02:00
anjali041 77a082a96e selenium: Upgrade WebdriverIO to v7
Update npm packages: @wdio/* and webdriverio.

Bug: T274579
Change-Id: I5fc8d2a7f3514e6c70668b0546b057f7de8c551a
2021-06-15 14:02:39 +02:00
Translation updater bot 617724f839 Localisation updates from https://translatewiki.net.
Change-Id: I3ffdf667f6b6a38819f49c4b37e73c6d0dbf9e84
2021-06-10 08:34:07 +02:00
jenkins-bot dbc56f8319 Merge "selenium: Update wdio-mediawiki" 2021-06-09 14:07:19 +00:00
sahil d7ad615e67 selenium: Update wdio-mediawiki
wdio-mediawiki v1.1.1:
- Includes wdio-defaults.conf.js file that vastly simplifies wdio.conf.js.
- Replaces @wdio/spec-reporter with @wdio/dot-reporter.
- Introduces video recording.

Bug: T283597
Change-Id: Ic62db3ca745a94573b2b0500f49a45bb2a0dcd4f
2021-06-09 15:03:58 +02:00
Translation updater bot fc263cf08b Localisation updates from https://translatewiki.net.
Change-Id: I40a6662a2aa0224ec8a5a7c9e243a8016bedbcec
2021-06-08 08:35:45 +02:00
Translation updater bot 0898540621 Localisation updates from https://translatewiki.net.
Change-Id: I622fd7f4e41531b8203c684b9689c2bfebd180e9
2021-06-07 08:41:36 +02:00
jenkins-bot b8e2187f77 Merge "Localisation updates from https://translatewiki.net." 2021-06-04 06:39:44 +00:00
Translation updater bot a8ffbc4191 Localisation updates from https://translatewiki.net.
Change-Id: Ifbd996c3e636cf28bd219b615ca73a663d29b3ef
2021-06-04 08:36:06 +02:00
Ed Sanders 299e5d3655 Avoid exceptions if node teardown happens before setup
Change-Id: I7f55091023a3c0e92ce216e51f24bbc423f136c7
2021-06-03 22:50:44 +01:00
Translation updater bot f4257fadd4 Localisation updates from https://translatewiki.net.
Change-Id: I8001f064b67374fb15bdf7821a72352dd6f335bd
2021-06-02 14:34:54 +02:00
DannyS712 55cc7c2828 Remove documentation that repeats the code
Mostly comments along the lines of "{classname} constructor"
in the doc block for the __construct method.

Change-Id: I67ffe070985dc75a5d817b1b5ac97b529d7ab4b8
2021-06-02 09:57:36 +00:00
jenkins-bot 1c19bb8b90 Merge "More robust property initialization in ReferenceStack" 2021-06-01 23:02:33 +00:00
jenkins-bot 2ce4860bce Merge "Change the button "Basic form" to "Basic"" 2021-06-01 13:59:28 +00:00
Translation updater bot cb002e220f Localisation updates from https://translatewiki.net.
Change-Id: I77f398ccbadbe9f1e8d9ef964e26287b89aa341d
2021-06-01 08:34:51 +02:00
Thiemo Kreuz 0cc1ddeccb More robust property initialization in ReferenceStack
I tried many things, but wasn't able to reproduce the error
described in T283755. What probably happens goes like this:
* Somehow $this->refs[$group] is initialized, but
  $this->groupRefSequence[$group] is not.
* There are not many places in the code where this can
  happen. There are a few suspicious lines in rollbackRef(),
  but they are all guarded. The only problematic place is in
  appendText().
* This problematic line is only called for <ref> in
  <references>.
* Somehow a <ref> is valid enough to make it to appendText(),
  but not valid enough to make it to pushRef().
* The next time another <ref> is added to the same group, it
  appears like the group already exists ($this->refs[$group]
  is set), but $this->groupRefSequence[$group] is missing.

I was unable to find a wikitext example that would behave like
this.

This patch just makes sure the initialization is done but
doesn't care why it was missing. The following code is fine
with an existing ref that contains nothing but text (which is
how appendText() leaves it behind).

Bug: T283755
Change-Id: I36ac56ef6ed98676a3e8f430a796826351a5f4e9
2021-05-31 14:10:07 +02:00
Amir Aharoni 94166f93b3 Change the button "Basic form" to "Basic"
This button has the same function as the menu item
"Cite -> Basic" on sites that don't have Citoid configured.

Bug: T108713
Change-Id: I8b419ecdc3b0206974c5f413bfd2e35873fe9850
2021-05-31 11:46:24 +03:00
Translation updater bot 939a2943b2 Localisation updates from https://translatewiki.net.
Change-Id: I026ba46082baa5bb5661fee01140e3f2d484cd79
2021-05-31 08:30:30 +02:00
Translation updater bot d65b9a620b Localisation updates from https://translatewiki.net.
Change-Id: I9fd2b81fe5b1d6b9fd0ce6e4d726da96cce483d8
2021-05-28 08:59:11 +02:00
Translation updater bot c8e3afa54c Localisation updates from https://translatewiki.net.
Change-Id: Iac34f93777290720145d4f9eeabca728b571d019
2021-05-27 12:04:56 +02:00
jenkins-bot 3b5de2ab0c Merge "selenium: Update README.md file" 2021-05-25 14:04:34 +00:00
sahil d2ef9166ae selenium: Update README.md file
Bug: T282237
Change-Id: I45502311712f832f19ab236a9e71081492de224c
2021-05-24 18:24:32 +00:00
Translation updater bot 3fc9a8d583 Localisation updates from https://translatewiki.net.
Change-Id: I0e1ee4a31ae7c25a45aa88840183150879857e93
2021-05-24 09:53:16 +02:00
Translation updater bot d276d52bba Localisation updates from https://translatewiki.net.
Change-Id: I90f7a42cd52ebba37cdeed505d8c5aa60f8f94de
2021-05-20 09:09:56 +02:00
Translation updater bot 6a82f23dd5 Localisation updates from https://translatewiki.net.
Change-Id: Ic1aaa533af2adfd7a0e5f1e095a0cc4d559981d8
2021-05-19 08:42:26 +02:00
Volker E 048a887955 build: Remove 'grunt-svgmin' package
There are no SVGs left in Cite, hence removing package.

Change-Id: I608c1b7a4e9d989fc9d58ac29c57d6d9d18cae96
2021-05-17 17:51:41 -07:00
Translation updater bot 2ae898e5c6 Localisation updates from https://translatewiki.net.
Change-Id: I8b7a9f6b88d677992fe0ba883dbb24915d17082d
2021-05-17 08:41:27 +02:00
libraryupgrader 13e5846770 build: Updating npm dependencies
* hosted-git-info: 2.8.9 → 2.8.9
  * https://npmjs.com/advisories/1677 (CVE-2021-23362)
* postcss: 7.0.35 → 8.2.15
  * https://npmjs.com/advisories/1693 (CVE-2021-23368)

Change-Id: I255cbd76aa9562a23fa2e39dd8e8d8cbd17b8889
2021-05-15 12:22:23 +00:00
Translation updater bot ce7dd73d6c Localisation updates from https://translatewiki.net.
Change-Id: I0742dab88b3bb4fd8a76c13cf6c4eaf6101e62c3
2021-05-14 08:43:14 +02:00