Commit graph

2784 commits

Author SHA1 Message Date
Bartosz Dziewoński 66cac8523e ThreadItemStoreTest: Add test for old revisions of indistinguishable comments
Just to confirm that this works correctly, because I broke it a few
times in different ways while working on T321121.

In this scenario, discussiontools_item_revisions contains rows for
the oldest and newest revisions of pages containing each comment
distinguishable by name, as well as extra rows for the newest
revisions of comments indistinguishable by name, so that they can
be looked up by ID.

Change-Id: Ic8450a6b082ed343dd633d3a43c50696b5d6d2bb
2022-10-20 03:50:47 +02:00
Bartosz Dziewoński 33f4006713 ThreadItemStore: Fix updates for identical revision timestamps
Use revision IDs to break the tie, consistently with MediaWiki (see
RevisionStore::getRelativeRevision) instead of assuming that the
revision we're processing now is somehow both older *and* newer than
the other one (the mind boggles how that ever made sense to me).

Change-Id: I9f1a07124301a36be68578d908353b72f0442c00
2022-10-20 02:37:47 +02:00
Bartosz Dziewoński c922e1babd ThreadItemStoreTest: Add test for identical revision timestamps
discussiontools_item_pages row itp_id=5 has incorrect
itp_oldest_revision_id. It should point to the older of the two
revisions with the same time, but it points to the newer one.
discussiontools_item_revisions row is missing.

Depends-On: I56f0e161e5438d5f77b7d53d4db7411f90f97d05
Change-Id: I61ed42515891a84729455a7a32c98276c7cacd40
2022-10-20 02:36:40 +02:00
Bartosz Dziewoński ed23ff1ad7 ThreadItemStoreTest: Use a consistent ordering for the output
In preparation for changes affecting how the data is stored (T321121).

Change-Id: I1d6edeb016431dd33e50cfbea1533a92b056a2a7
2022-10-20 01:49:19 +02:00
Bartosz Dziewoński 91aeaabe83 ThreadItemStore: Remove long comment no one is ever going to read
I should have just put that in a commit message rather than source code.

Change-Id: Ia5c06c91c21b0b5da1ed578369825a3870c48833
2022-10-20 01:49:19 +02:00
jenkins-bot 4935197c66 Merge "logger: Use wgWMESchemaVisualEditorFeatureUseSamplingRate config variable" 2022-10-19 19:09:24 +00:00
Func 3cbab3b789 ReplyLinksController: Skip empty reply buttons container
For preview parsing, the span containers are empty.

Not sure why not strip the container along with all generated
contents, but this should be the easiest fix.

Bug: T321185
Change-Id: I9afb2d0f543b79dbac8a652236fe55284de542a8
2022-10-19 23:14:27 +08:00
Translation updater bot a86c0f71db Localisation updates from https://translatewiki.net.
Change-Id: If855f1474efb38d012d534ab211a30f9bd275690
2022-10-19 08:19:44 +02:00
jenkins-bot f953953c9b Merge "Fire wikipage.content hook on edit notices" 2022-10-18 16:19:57 +00:00
jenkins-bot 3c53a489cf Merge "CommentFormatter: Always add the overflow menu" 2022-10-18 16:16:42 +00:00
jenkins-bot 66780457e4 Merge "Add 'wpTextbox1' to parameters that disable new topic tool" 2022-10-18 15:47:21 +00:00
jenkins-bot b2d0b45c76 Merge "Fix parsing of non-English titles in JS tests" 2022-10-18 08:22:33 +00:00
Translation updater bot cbbdcd1e80 Localisation updates from https://translatewiki.net.
Change-Id: Ib6cc5c6b6eaa47d99780852a4bcbd5be2a378342
2022-10-18 08:22:22 +02:00
Bartosz Dziewoński 1d6ba985be Fix parsing of non-English titles in JS tests
Same issue as b68832ace0 in PHP.

Change-Id: Ide6ebc47929b597e6dc23df696d87bb3130ce276
2022-10-17 17:10:53 +02:00
Ed Sanders 481b687c35 Follow-up I394f02912: Use existing class API to move button away from sticky header
Bug: T318474
Change-Id: Iab3a817e305d48e922499aad3620d93cf8aa165e
2022-10-17 14:49:36 +01:00
jenkins-bot 2b427fdef3 Merge "Re-enable fixed JS parser tests" 2022-10-17 07:48:33 +00:00
Translation updater bot 5c01293740 Localisation updates from https://translatewiki.net.
Change-Id: Iba9bb117a383e8c5cfb3a2f74563216d2802b66e
2022-10-17 08:21:04 +02:00
Bartosz Dziewoński 4b38d72c2e Re-enable fixed JS parser tests
The changes from I39f9b994ce5636d70fea2e935a7c87c7d56dcb26 also make
most of the broken tests pass again.

Change-Id: I165f36235b47dee4bcef115e518bc1e81d2f83a5
2022-10-15 20:24:09 +00:00
jenkins-bot a9191c49b8 Merge "Ship HTML test files for JS using 'packageFiles' instead of 'templates'" 2022-10-14 16:53:38 +00:00
jenkins-bot bf1b17d34a Merge "Autogenerate list of files for JS test module instead of maintaining it by hand" 2022-10-14 16:53:36 +00:00
Ed Sanders d0cd0e57a1 Separate out mobile init from controller.js
Change-Id: I2dfafc1d816c5cae97fd51bc11de9aefbdd73ee8
2022-10-14 17:38:19 +01:00
jenkins-bot c5b0e2717a Merge "Rewrite persistRevisionThreadItems" 2022-10-14 16:36:47 +00:00
jenkins-bot f09d91a29c Merge "ThreadItemStore: Move some work in insertThreadItems() outside transactions" 2022-10-14 16:36:45 +00:00
jenkins-bot d7cf6adb0a Merge "Log page/revision IDs when the page/revision seems to be missing" 2022-10-14 16:34:45 +00:00
jenkins-bot 19e64cd8ee Merge "Use ParsoidOutputAccess when RESTBase is not set up (WMF private wikis)" 2022-10-14 16:34:15 +00:00
Translation updater bot 0c03b7ef52 Localisation updates from https://translatewiki.net.
Change-Id: Ieefd70d7274587c8c1a8a6c8e30867468f7d4b9d
2022-10-14 08:41:43 +02:00
Msz2001 cf58427165 Translate: Special page names into Polish
Change-Id: I5c50ad6f611e013c0a9f5a0f4531a6065a5f12b6
2022-10-13 12:13:47 +00:00
Translation updater bot c765c4124d Localisation updates from https://translatewiki.net.
Change-Id: I8cb221848836ee33ae4561de5ca3973e764557b8
2022-10-13 08:08:33 +02:00
jenkins-bot a8bf67c4e9 Merge "Fix '?dtenable=1' on mobile" 2022-10-13 00:00:01 +00:00
Ed Sanders cdad0cc260 Fix '?dtenable=1' on mobile
isFeatureEnabledForOutput already checks if the mobile flag is enabled,
but it also respects the dtenable=1 override.

Change-Id: I95035281bf301b22c1a9ef4c06ec54cdd0cbc85c
2022-10-12 23:53:12 +00:00
Bartosz Dziewoński 361283a332 Ship HTML test files for JS using 'packageFiles' instead of 'templates'
We originally used 'templates' because it seemed like an obvious
choice for HTML files, and because 'packageFiles' requires extra code
to include anything that isn't a .js or .json file.

However, the templates are expected to be HTML fragments rather than
whole documents, and they are parsed in a particular way that takes a
lot of code to clean up (which we needed to do, because we use the
same test files for testing PHP code).

I tried doing it in the 'packageFiles' way, and the extra code doesn't
seem that bad in comparison after all. Moreover, the 'templates'
mechanism (when used the intended way) feels vaguely deprecated in
favor of Vue.js, and I'd rather move away from it.

This makes the tests faster too (probably mostly thanks to the removal
of the clean up code) – on my machine they go from 1800ms to 1500ms.

(Simplify linearWalk tests, as we no longer need to do weird things
with document fragments to get consistent outputs in PHP and JS.)

Change-Id: I39f9b994ce5636d70fea2e935a7c87c7d56dcb26
2022-10-12 22:45:41 +00:00
Bartosz Dziewoński f9903401a6 Autogenerate list of files for JS test module instead of maintaining it by hand
Depends-On: I223f63aab132444833aad7d7c162b27c9e93991c
Change-Id: Ib869b66d9f9155163ad9e0475e5e8a69dac9f55a
2022-10-12 22:41:41 +00:00
jenkins-bot 4b3794f610 Merge "testUtils.js: Fix selector for old parser tests" 2022-10-12 17:24:04 +00:00
jenkins-bot 888fb00c12 Merge "testUtils.js: Serialize timestamp with #getTimestampString" 2022-10-12 17:24:02 +00:00
jenkins-bot d3a359571f Merge "parser.test.js: New test for each case, as in modifier.test.js" 2022-10-12 17:24:00 +00:00
jenkins-bot 03986e6072 Merge "modifier.test.js: Improve test descriptions" 2022-10-12 17:23:32 +00:00
jenkins-bot f6e271d781 Merge "Remove all hacks for old HTML in HTTP cache or parser cache" 2022-10-12 14:20:52 +00:00
jenkins-bot dee7dbd8f6 Merge "Use FormatJson helper for outputting pretty JSON for tests" 2022-10-12 13:58:37 +00:00
Translation updater bot 3825a89294 Localisation updates from https://translatewiki.net.
Change-Id: I8f051b4e89639b2e143399f8ffeac0cb0d8f180d
2022-10-12 08:07:40 +02:00
Bartosz Dziewoński 465168112c Use FormatJson helper for outputting pretty JSON for tests
Identical output, fewer constants and regexps.

Change-Id: I50fd536d9122ac91a7261660405219e19d974047
2022-10-12 00:52:52 +02:00
Ed Sanders f32429bb4e testUtils.js: Fix selector for old parser tests
This fixes tests in modifier.test.js. The old parser tests
in parser.test.js are currently skipped.

Change-Id: If1fa8055b3cb6c6b43420ab40dd51af79fa083d9
2022-10-11 17:39:52 +01:00
Ed Sanders 2de72655d8 testUtils.js: Serialize timestamp with #getTimestampString
This currently only makes a difference in some skipped tests.

Change-Id: Ia27fb1cf1bbf2ffdcc471eb6e4dacf4dce44efec
2022-10-11 17:37:20 +01:00
Ed Sanders 6d03608b7c parser.test.js: New test for each case, as in modifier.test.js
Explicitly skip the old parser tests as these are not yet working.

Change-Id: I1a8fbb9b177acd97db9c42250dd6f5226f879ac0
2022-10-11 17:23:40 +01:00
Ed Sanders 045b020ca4 modifier.test.js: Improve test descriptions
Exposes that the old parser tests are asserting 0 comments added.

The tests are passing becaause testUtils.getThreadContainer returns
the empty string for both actual and expected.

Change-Id: I263a258a8db5c35a6fb1fc5ce281f902fc543038
2022-10-11 16:57:46 +01:00
jenkins-bot 59f06ccebd Merge "Use RevisionLookup methods instead of ApiParsoidTrait methods" 2022-10-11 13:58:28 +00:00
Translation updater bot f2a16c021b Localisation updates from https://translatewiki.net.
Change-Id: Idfda57c1927ed2adb06a89cd223b4974244c211f
2022-10-11 09:16:28 +02:00
Bartosz Dziewoński 65339e3ad4 Fix new topic tool appearing from autosave in edit mode
Follow-up to 2bc76dabd7.

Bug: T317005
Change-Id: I2f982e7e631cc45375143b1ba280850e66e51719
2022-10-11 00:26:55 +02:00
Bartosz Dziewoński 2ad3e4ad26 Fix new topic tool appearing from autosave in its own preview
Follow-up to 9425f75f47

Bug: T317005
Change-Id: I247f33e3658fbb8307a725b7c4fdc5871932b5d3
2022-10-10 23:12:18 +02:00
Ed Sanders 2c160ddb72 CommentItem.js: Ensure timestamps are UTC
This will not be the case if we do a full parse in the
client on a non-UTC site.

Change-Id: I226c4f580e60114992bfc06896ef4868e6ea9124
2022-10-10 14:50:02 +01:00
Translation updater bot 66955ab733 Localisation updates from https://translatewiki.net.
Change-Id: Ib7ab233f0fd0021cd5403181e34b65a54033ab3b
2022-10-10 10:19:59 +02:00