mediawiki-extensions-Discus.../tests/cases
Bartosz Dziewoński c1f4668806 Change CommentParser and ImmutableRange to use offsets in codepoints instead of bytes
The PHP DOM extension measures lengths and offsets in Unicode codepoints.
Our PHP code used UTF-8 bytes, causing some offsets to be slightly off.
Now it mostly uses Unicode codepoints as well (we're forced to use bytes
in a few places, because preg_match returns offsets in bytes).

In practice, this had no visible effect to the user. It caused the
markers `<span data-mw-comment-end="..."></span>` to be placed at
the end of their container instead of the correct position when the
timestamp contained multibyte characters (e.g. "ź" in Polish); but
the correct position is usually at the end of the container anyway.

In the test cases, the only difference is placing these markers before
a trailing line break inside `<p>...</p>` tags rather than before it.

The patch also accidentally fixes another bug, where element nodes
with no children (mostly <img>) were incorrectly excluded when calling
cloneContents(), because they were treated as if they were text nodes.

Change-Id: Iccdccf1078598f4b62cab96225e9c85a4c0e93ee
2021-09-27 19:04:16 +00:00
..
ar-nbsp-timezone-oldparser Introduce comment "names" to identify comments across revisions/pages 2021-03-23 16:08:42 +00:00
ar-nbsp-timezone-parsoid Introduce comment "names" to identify comments across revisions/pages 2021-03-23 16:08:42 +00:00
ar-no-paragraph-oldparser Change CommentParser and ImmutableRange to use offsets in codepoints instead of bytes 2021-09-27 19:04:16 +00:00
ar-no-paragraph-parsoid Introduce comment "names" to identify comments across revisions/pages 2021-03-23 16:08:42 +00:00
ckb-big-oldparser Change CommentParser and ImmutableRange to use offsets in codepoints instead of bytes 2021-09-27 19:04:16 +00:00
ckb-big-parsoid Change CommentParser and ImmutableRange to use offsets in codepoints instead of bytes 2021-09-27 19:04:16 +00:00
double-signature1 Only show [subscribe] links on sections that contain at least one comment 2021-07-13 02:35:15 +02:00
double-signature2 Use placeholder localisation messages in CommentFormatter tests 2021-06-02 21:46:36 +02:00
dt-tags-oldparser Fix adding comments in lists containing <dt> tags 2021-04-21 16:00:07 +02:00
dt-tags-parsoid Fix adding comments in lists containing <dt> tags 2021-04-21 16:00:07 +02:00
en-big-oldparser Change CommentParser and ImmutableRange to use offsets in codepoints instead of bytes 2021-09-27 19:04:16 +00:00
en-big-parsoid Change CommentParser and ImmutableRange to use offsets in codepoints instead of bytes 2021-09-27 19:04:16 +00:00
en-bigafd-parsoid Make IDs (to be used as URL hashes) wikitext safe 2021-03-18 20:45:21 +01:00
EventDispatcher Enhance Echo user talk edit and mention notifications 2021-09-20 15:05:42 +02:00
fallback-encoding-link Introduce comment "names" to identify comments across revisions/pages 2021-03-23 16:08:42 +00:00
for-parser-cache Use placeholder localisation messages in CommentFormatter tests 2021-06-02 21:46:36 +02:00
fr-unsigned-oldparser Change CommentParser and ImmutableRange to use offsets in codepoints instead of bytes 2021-09-27 19:04:16 +00:00
fr-unsigned-parsoid Introduce comment "names" to identify comments across revisions/pages 2021-03-23 16:08:42 +00:00
it-unsigned-oldparser Change CommentParser and ImmutableRange to use offsets in codepoints instead of bytes 2021-09-27 19:04:16 +00:00
it-unsigned-parsoid Introduce comment "names" to identify comments across revisions/pages 2021-03-23 16:08:42 +00:00
linearWalk Use tabs for indentation in JSON test files 2021-01-27 00:25:15 +00:00
lrm-signature Introduce comment "names" to identify comments across revisions/pages 2021-03-23 16:08:42 +00:00
mixed-indentation Make IDs (to be used as URL hashes) wikitext safe 2021-03-18 20:45:21 +01:00
no-heading Introduce comment "names" to identify comments across revisions/pages 2021-03-23 16:08:42 +00:00
parsoid-sections Make IDs (to be used as URL hashes) wikitext safe 2021-03-18 20:45:21 +01:00
pl-big-oldparser Change CommentParser and ImmutableRange to use offsets in codepoints instead of bytes 2021-09-27 19:04:16 +00:00
pl-big-parsoid Change CommentParser and ImmutableRange to use offsets in codepoints instead of bytes 2021-09-27 19:04:16 +00:00
signatures-comments Make IDs (to be used as URL hashes) wikitext safe 2021-03-18 20:45:21 +01:00
signatures-funny Use placeholder localisation messages in CommentFormatter tests 2021-06-02 21:46:36 +02:00
split-list Make IDs (to be used as URL hashes) wikitext safe 2021-03-18 20:45:21 +01:00
split-list2 Make IDs (to be used as URL hashes) wikitext safe 2021-03-18 20:45:21 +01:00
sr-ec Introduce comment "names" to identify comments across revisions/pages 2021-03-23 16:08:42 +00:00
sr-el Introduce comment "names" to identify comments across revisions/pages 2021-03-23 16:08:42 +00:00
transclusions Make IDs (to be used as URL hashes) wikitext safe 2021-03-18 20:45:21 +01:00
unclosed-font Only show [subscribe] links on sections that contain at least one comment 2021-07-13 02:35:15 +02:00
wrappers Use placeholder localisation messages in CommentFormatter tests 2021-06-02 21:46:36 +02:00
appendSignature.json Trim signatures when added in an empty existing node, too 2021-03-08 23:38:46 +00:00
authors.json Create ThreadItem classes 2020-06-12 20:35:59 +01:00
comments.json Fix adding comments in lists containing <dt> tags 2021-04-21 16:00:07 +02:00
datatest-ckb.json Recognize links to add a new topic that use Special:NewSection 2021-07-22 22:25:11 +02:00
datatest-en.json Recognize links to add a new topic that use Special:NewSection 2021-07-22 22:25:11 +02:00
datatest-sr.json Recognize links to add a new topic that use Special:NewSection 2021-07-22 22:25:11 +02:00
datatest-th.json Recognize links to add a new topic that use Special:NewSection 2021-07-22 22:25:11 +02:00
formattedreply.json Broken test cases for comments with double signatures 2021-02-27 00:12:42 +01:00
getHTML.json Add some tests covering ThreadItem::getHTML() and related methods 2021-08-24 07:54:09 +02:00
getText.json Add some tests covering ThreadItem::getHTML() and related methods 2021-08-24 07:54:09 +02:00
isHtmlSigned.json Improve detecting typed signatures 2020-07-22 00:00:53 +02:00
isWikitextSigned.json Improve detecting typed signatures 2020-07-22 00:00:53 +02:00
linearWalk.json Fix skipping to the end of paragraph, now it considers nested tags 2021-01-18 18:20:20 +00:00
modified.json Fix adding comments in lists containing <dt> tags 2021-04-21 16:00:07 +02:00
README.txt Broken test cases for comments with double signatures 2021-02-27 00:12:42 +01:00
reply.json Tests covering fr.wp unsigned comment templates 2020-05-28 00:13:07 +02:00
sanitize-wikitext-linebreaks.json Move wikitext modifiers to modifier.js 2020-07-01 17:06:02 +01:00
timestamp-parser-dst.json
timestamp-parser.json
timestamp-regex.json
transcluded.json Add tests covering it.wp unsigned comment template 2020-11-25 02:08:03 +01:00
unwrap.json Allow non-lists to be passed to unwrapList 2020-06-24 19:19:06 +01:00

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

To update the expected outputs, run the PHP tests with the environment variable
"DISCUSSIONTOOLS_OVERWRITE_TESTS" set to any value, e.g.:

     DISCUSSIONTOOLS_OVERWRITE_TESTS=1 php tests/phpunit/phpunit.php extensions/DiscussionTools/tests/phpunit/


The input HTML files were saved from:

pl-big:
https://pl.wikipedia.org/w/index.php?action=render&title=Wikipedia:Kawiarenka/Artyku%C5%82y_dyskusja/Archiwum/2018-pa%C5%BAdziernik&oldid=55171451
https://pl.wikipedia.org/api/rest_v1/page/html/Wikipedia%3AKawiarenka%2FArtyku%C5%82y_dyskusja%2FArchiwum%2F2018-pa%C5%BAdziernik/55171451

en-big:
https://en.wikipedia.org/w/index.php?action=render&title=Wikipedia:Village_pump_(technical)/Archive_175&oldid=913983958
https://en.wikipedia.org/api/rest_v1/page/html/Wikipedia%3AVillage_pump_(technical)%2FArchive_175/913983958

ckb-big:
https://ckb.wikipedia.org/w/index.php?title=ویکیپیدیا:دیوەخان_(پێشنیارەکان)&oldid=638545&action=render
https://ckb.wikipedia.org/api/rest_v1/page/html/ویکیپیدیا%3Aدیوەخان_(پێشنیارەکان)/638545

en-bigafd:
https://en.wikipedia.org/api/rest_v1/page/html/Wikipedia%3AArticles_for_deletion%2FLog%2F2020_March_7

ar-no-paragraph:
https://ar.wikipedia.org/w/index.php?action=render&title=نقاش_المستخدم:Khaled&oldid=45576943
https://ar.wikipedia.org/api/rest_v1/page/html/نقاش_المستخدم%3AKhaled/45576943

ar-nbsp-timezone:
https://ar.wikipedia.org/wiki/ويكيبيديا:إخفاء_أرقام_الآي_بي?oldid=46583196&action=render
https://ar.wikipedia.org/api/rest_v1/page/html/ويكيبيديا%3Aإخفاء_أرقام_الآي_بي/46583196

fr-unsigned:
https://fr.wikipedia.org/w/index.php?title=Discussion:Le_Monde&oldid=170426593&action=render
https://fr.wikipedia.org/api/rest_v1/page/html/Discussion%3ALe_Monde/170426593

it-unsigned:
https://it.wikipedia.org/w/index.php?title=Aiuto:Sportello_informazioni&oldid=116856029&action=render
https://it.wikipedia.org/api/rest_v1/page/html/Aiuto%3ASportello_informazioni/116856029

sr-ec:
https://sr.wikipedia.org/w/index.php?title=Википедија:Трг/Архива/Техника/35&variant=sr-ec&action=render

sr-el:
https://sr.wikipedia.org/w/index.php?title=Википедија:Трг/Архива/Техника/35&variant=sr-el&action=render

unclosed-font:
https://nl.wikipedia.org/w/index.php?title=Overleg_gebruiker:RYasmeen_(WMF)&oldid=57970619&action=render

double-signature1:
https://en.wikipedia.org/w/index.php?title=Wikipedia:Requests_for_comment/User_names&oldid=1002108637&action=render

double-signature2:
https://en.wikipedia.org/w/index.php?title=Wikipedia:Articles_for_deletion/Equal_Education&oldid=1009060583&action=render

Text is available under the Creative Commons Attribution-ShareAlike License.
See these pages for attribution.