Restore old HTML structure for history section links
authorKunal Mehta <legoktm@member.fsf.org>
Sat, 1 Dec 2018 08:47:03 +0000 (00:47 -0800)
committerKunal Mehta <legoktm@member.fsf.org>
Mon, 3 Dec 2018 20:42:56 +0000 (12:42 -0800)
A follow-up to 0a8e16d7cfe6c thanks to Anomie's code review.

The section title is now inside <span dir="auto"> and <span
class="autocomment">, as before. $wgLang->getDirMark() between the arrow
and the text was restored.

Given the comment
 /* External links */ removed bogus entries
the HTML before 0a8e16d7cfe6c looked like:
 <a href="#External_links">→</a>‎<span dir="auto"><span
 class="autocomment">External links: </span> removed bogus entries</span>
after this change, it will look like:
 <span dir="auto"><span class="autocomment"><a
 href="#External_links">→‎External links</a>: </span> removed bogus
 entries</span>

The issue of having links be inside other links will be addressed in a
separate patch.

Bug: T165189
Change-Id: I31d87a87ccaf50de58fdd0621c46133b2881b490

includes/Linker.php
tests/parser/parserTests.txt
tests/phpunit/includes/LinkerTest.php

index 7eda21b..e96d8d8 100644 (file)
@@ -1151,7 +1151,6 @@ class Linker {
                                );
 
                                if ( $comment === null ) {
-                                       $link = '';
                                        if ( $title ) {
                                                $section = $auto;
                                                # Remove links that a user may have manually put in the autosummary
@@ -1168,12 +1167,10 @@ class Linker {
                                                                $title->getDBkey(), $section );
                                                }
                                                if ( $sectionTitle ) {
-                                                       $link = Linker::makeCommentLink(
-                                                               $sectionTitle, $wgLang->getArrow() . $auto, $wikiId, 'noclasses'
+                                                       $auto = Linker::makeCommentLink(
+                                                               $sectionTitle, $wgLang->getArrow() . $wgLang->getDirMark() . $auto,
+                                                               $wikiId, 'noclasses'
                                                        );
-                                                       $auto = '';
-                                               } else {
-                                                       $link = '';
                                                }
                                        }
                                        if ( $pre ) {
@@ -1188,7 +1185,7 @@ class Linker {
                                                $auto = '<span dir="auto"><span class="autocomment">' . $auto . '</span>';
                                                $append .= '</span>';
                                        }
-                                       $comment = $pre . $link . $wgLang->getDirMark() . $auto;
+                                       $comment = $pre . $auto;
                                }
                                return $comment;
                        },
index d65e49a..bbacfaf 100644 (file)
@@ -24502,7 +24502,7 @@ comment title=[[Main Page]]
 !! wikitext
 /* External links */ removed bogus entries
 !! html/php
-<a href="/wiki/Main_Page#External_links" title="Main Page">→External links</a>‎<span dir="auto"><span class="autocomment">: </span> removed bogus entries</span>
+<span dir="auto"><span class="autocomment"><a href="/wiki/Main_Page#External_links" title="Main Page">→‎External links</a>: </span> removed bogus entries</span>
 !!end
 
 !! test
@@ -24512,7 +24512,7 @@ comment title=[[Main Page]]
 !! wikitext
 pre-comment text /* External links */ removed bogus entries
 !! html/php
-pre-comment text <a href="/wiki/Main_Page#External_links" title="Main Page">→External links</a>‎<span dir="auto"><span class="autocomment">: </span> removed bogus entries</span>
+pre-comment text <span dir="auto"><span class="autocomment"><a href="/wiki/Main_Page#External_links" title="Main Page">→‎External links</a>: </span> removed bogus entries</span>
 !!end
 
 !! test
@@ -24522,7 +24522,7 @@ comment local title=[[Main Page]]
 !! wikitext
 /* External links */ removed bogus entries
 !! html/php
-<a href="#External_links">→External links</a>‎<span dir="auto"><span class="autocomment">: </span> removed bogus entries</span>
+<span dir="auto"><span class="autocomment"><a href="#External_links">→‎External links</a>: </span> removed bogus entries</span>
 !!end
 
 !! test
@@ -24633,7 +24633,7 @@ title=[[Main Page]]
 !! wikitext
 /* __hello__world__ */
 !! html/php
-<a href="/wiki/Main_Page#hello_world" title="Main Page">→__hello__world__</a>‎
+<span dir="auto"><span class="autocomment"><a href="/wiki/Main_Page#hello_world" title="Main Page">→‎__hello__world__</a></span></span>
 !! end
 
 !! test
index 52a3c91..1f8f438 100644 (file)
@@ -152,58 +152,58 @@ class LinkerTest extends MediaWikiLangTestCase {
                        ],
                        // Linker::formatAutocomments
                        [
-                               '<a href="/wiki/Special:BlankPage#autocomment" title="Special:BlankPage">→autocomment</a>‎',
+                               '<span dir="auto"><span class="autocomment"><a href="/wiki/Special:BlankPage#autocomment" title="Special:BlankPage">→‎autocomment</a></span></span>',
                                "/* autocomment */",
                        ],
                        [
-                               '<a href="/wiki/Special:BlankPage#linkie.3F" title="Special:BlankPage">→<a href="/wiki/index.php?title=Linkie%3F&amp;action=edit&amp;redlink=1" class="new" title="Linkie? (page does not exist)">linkie?</a></a>‎',
+                               '<span dir="auto"><span class="autocomment"><a href="/wiki/Special:BlankPage#linkie.3F" title="Special:BlankPage">→‎<a href="/wiki/index.php?title=Linkie%3F&amp;action=edit&amp;redlink=1" class="new" title="Linkie? (page does not exist)">linkie?</a></a></span></span>',
                                "/* [[linkie?]] */",
                        ],
                        [
-                               '<a href="/wiki/Special:BlankPage#autocomment" title="Special:BlankPage">→autocomment</a>‎<span dir="auto"><span class="autocomment">: </span> post</span>',
+                               '<span dir="auto"><span class="autocomment"><a href="/wiki/Special:BlankPage#autocomment" title="Special:BlankPage">→‎autocomment</a>: </span> post</span>',
                                "/* autocomment */ post",
                        ],
                        [
-                               'pre <a href="/wiki/Special:BlankPage#autocomment" title="Special:BlankPage">→autocomment</a>‎',
+                               'pre <span dir="auto"><span class="autocomment"><a href="/wiki/Special:BlankPage#autocomment" title="Special:BlankPage">→‎autocomment</a></span></span>',
                                "pre /* autocomment */",
                        ],
                        [
-                               'pre <a href="/wiki/Special:BlankPage#autocomment" title="Special:BlankPage">→autocomment</a>‎<span dir="auto"><span class="autocomment">: </span> post</span>',
+                               'pre <span dir="auto"><span class="autocomment"><a href="/wiki/Special:BlankPage#autocomment" title="Special:BlankPage">→‎autocomment</a>: </span> post</span>',
                                "pre /* autocomment */ post",
                        ],
                        [
-                               '<a href="/wiki/Special:BlankPage#autocomment" title="Special:BlankPage">→autocomment</a>‎<span dir="auto"><span class="autocomment">: </span> multiple? <a href="/wiki/Special:BlankPage#autocomment2" title="Special:BlankPage">→autocomment2</a>‎</span>',
+                               '<span dir="auto"><span class="autocomment"><a href="/wiki/Special:BlankPage#autocomment" title="Special:BlankPage">→‎autocomment</a>: </span> multiple? <span dir="auto"><span class="autocomment"><a href="/wiki/Special:BlankPage#autocomment2" title="Special:BlankPage">→‎autocomment2</a></span></span></span>',
                                "/* autocomment */ multiple? /* autocomment2 */",
                        ],
                        [
-                               '<a href="/wiki/Special:BlankPage#autocomment_containing_.2F.2A" title="Special:BlankPage">→autocomment containing /*</a>‎<span dir="auto"><span class="autocomment">: </span> T70361</span>',
+                               '<span dir="auto"><span class="autocomment"><a href="/wiki/Special:BlankPage#autocomment_containing_.2F.2A" title="Special:BlankPage">→‎autocomment containing /*</a>: </span> T70361</span>',
                                "/* autocomment containing /* */ T70361"
                        ],
                        [
-                               '<a href="/wiki/Special:BlankPage#autocomment_containing_.22quotes.22" title="Special:BlankPage">→autocomment containing &quot;quotes&quot;</a>‎',
+                               '<span dir="auto"><span class="autocomment"><a href="/wiki/Special:BlankPage#autocomment_containing_.22quotes.22" title="Special:BlankPage">→‎autocomment containing &quot;quotes&quot;</a></span></span>',
                                "/* autocomment containing \"quotes\" */"
                        ],
                        [
-                               '<a href="/wiki/Special:BlankPage#autocomment_containing_.3Cscript.3Etags.3C.2Fscript.3E" title="Special:BlankPage">→autocomment containing &lt;script&gt;tags&lt;/script&gt;</a>‎',
+                               '<span dir="auto"><span class="autocomment"><a href="/wiki/Special:BlankPage#autocomment_containing_.3Cscript.3Etags.3C.2Fscript.3E" title="Special:BlankPage">→‎autocomment containing &lt;script&gt;tags&lt;/script&gt;</a></span></span>',
                                "/* autocomment containing <script>tags</script> */"
                        ],
                        [
-                               '<a href="#autocomment">→autocomment</a>‎',
+                               '<span dir="auto"><span class="autocomment"><a href="#autocomment">→‎autocomment</a></span></span>',
                                "/* autocomment */",
                                false, true
                        ],
                        [
-                               '<span dir="auto"><span class="autocomment">autocomment</span></span>',
+                               '<span dir="auto"><span class="autocomment">autocomment</span></span>',
                                "/* autocomment */",
                                null
                        ],
                        [
-                               '<a href="/wiki/Special:BlankPage#autocomment" title="Special:BlankPage">→autocomment</a>‎',
+                               '<span dir="auto"><span class="autocomment"><a href="/wiki/Special:BlankPage#autocomment" title="Special:BlankPage">→‎autocomment</a></span></span>',
                                "/* autocomment */",
                                false, false
                        ],
                        [
-                               '<a class="external" rel="nofollow" href="//en.example.org/w/Special:BlankPage#autocomment">→autocomment</a>‎',
+                               '<span dir="auto"><span class="autocomment"><a class="external" rel="nofollow" href="//en.example.org/w/Special:BlankPage#autocomment">→‎autocomment</a></span></span>',
                                "/* autocomment */",
                                false, false, $wikiId
                        ],