Anomie has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/399912 )

Change subject: Use 'unwrap' post-cache transform instead of 
setWrapOutputClass( false )
......................................................................

Use 'unwrap' post-cache transform instead of setWrapOutputClass( false )

To reduce parser cache fragmentation, core is deprecating
$parserOptions->setWrapOutputClass( false ) in favor of
$parserOutput->getText( [ 'unwrap' => true ] );

Change-Id: I23a26ba0dfbe83007cd40e97d71a2139a5ecddc7
Depends-On: Iba16e78c41be992467101e7d83e9c3134765b101
---
M tests/phpunit/TemplateStylesHooksTest.php
1 file changed, 12 insertions(+), 13 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/TemplateStyles 
refs/changes/12/399912/1

diff --git a/tests/phpunit/TemplateStylesHooksTest.php 
b/tests/phpunit/TemplateStylesHooksTest.php
index deb8b7d..16f927b 100644
--- a/tests/phpunit/TemplateStylesHooksTest.php
+++ b/tests/phpunit/TemplateStylesHooksTest.php
@@ -134,7 +134,7 @@
         * tag's output depends on the revision IDs of the input pages.
         * @dataProvider provideTag
         */
-       public function testTag( ParserOptions $popt, $wikitext, $expect ) {
+       public function testTag( ParserOptions $popt, $getTextOptions, 
$wikitext, $expect ) {
                global $wgParserConf;
 
                $this->setMwGlobals( [
@@ -170,7 +170,7 @@
                $out = $parser->parse( $wikitext, Title::newFromText( 'Test' ), 
$popt );
                $parser->mPreprocessor = null; # Break the Parser <-> 
Preprocessor cycle
 
-               $this->assertEquals( $expect, $out->getText() );
+               $this->assertEquals( $expect, $out->getText( $getTextOptions ) 
);
        }
 
        public static function provideTag() {
@@ -178,72 +178,71 @@
                $popt->setWrapOutputClass( 'templatestyles-test' );
 
                $popt2 = ParserOptions::newFromContext( 
RequestContext::getMain() );
-               $popt2->setWrapOutputClass( false );
 
                return [
                        'Tag without src' => [
-                               $popt,
+                               $popt, [],
                                '<templatestyles />',
                                // @codingStandardsIgnoreStart Ignore 
Generic.Files.LineLength.TooLong
                                "<div class=\"templatestyles-test\"><p><strong 
class=\"error\">TemplateStyles' <code>src</code> attribute must not be 
empty.</strong>\n</p></div>",
                                // @codingStandardsIgnoreEnd
                        ],
                        'Tag with invalid src' => [
-                               $popt,
+                               $popt, [],
                                '<templatestyles src="Test&lt;&gt;" />',
                                // @codingStandardsIgnoreStart Ignore 
Generic.Files.LineLength.TooLong
                                "<div class=\"templatestyles-test\"><p><strong 
class=\"error\">Invalid title for TemplateStyles' <code>src</code> 
attribute.</strong>\n</p></div>",
                                // @codingStandardsIgnoreEnd
                        ],
                        'Tag with valid but nonexistent title' => [
-                               $popt,
+                               $popt, [],
                                '<templatestyles 
src="ThisDoes\'\'\'Not\'\'\'Exist" />',
                                // @codingStandardsIgnoreStart Ignore 
Generic.Files.LineLength.TooLong
                                "<div class=\"templatestyles-test\"><p><strong 
class=\"error\">Page <a 
href=\"/index.php?title=Template:ThisDoes%27%27%27Not%27%27%27Exist&amp;action=edit&amp;redlink=1\"
 class=\"new\" title=\"Template:ThisDoes&#39;&#39;&#39;Not&#39;&#39;&#39;Exist 
(page does not 
exist)\">Template:ThisDoes&#39;&#39;&#39;Not&#39;&#39;&#39;Exist</a> has no 
content.</strong>\n</p></div>",
                                // @codingStandardsIgnoreEnd
                        ],
                        'Tag with valid but nonexistent title, main namespace' 
=> [
-                               $popt,
+                               $popt, [],
                                '<templatestyles 
src=":ThisDoes\'\'\'Not\'\'\'Exist" />',
                                // @codingStandardsIgnoreStart Ignore 
Generic.Files.LineLength.TooLong
                                "<div class=\"templatestyles-test\"><p><strong 
class=\"error\">Page <a 
href=\"/index.php?title=ThisDoes%27%27%27Not%27%27%27Exist&amp;action=edit&amp;redlink=1\"
 class=\"new\" title=\"ThisDoes&#39;&#39;&#39;Not&#39;&#39;&#39;Exist (page 
does not exist)\">ThisDoes&#39;&#39;&#39;Not&#39;&#39;&#39;Exist</a> has no 
content.</strong>\n</p></div>",
                                // @codingStandardsIgnoreEnd
                        ],
                        'Tag with wikitext page' => [
-                               $popt,
+                               $popt, [],
                                '<templatestyles src="TemplateStyles 
test/wikitext" />',
                                // @codingStandardsIgnoreStart Ignore 
Generic.Files.LineLength.TooLong
                                "<div class=\"templatestyles-test\"><p><strong 
class=\"error\">Page <a href=\"/wiki/Template:TemplateStyles_test/wikitext\" 
title=\"Template:TemplateStyles test/wikitext\">Template:TemplateStyles 
test/wikitext</a> must have content model \"Sanitized CSS\" for TemplateStyles 
(current model is \"wikitext\").</strong>\n</p></div>",
                                // @codingStandardsIgnoreEnd
                        ],
                        'Tag with CSS (not sanitized-css) page' => [
-                               $popt,
+                               $popt, [],
                                '<templatestyles src="TemplateStyles 
test/nonsanitized.css" />',
                                // @codingStandardsIgnoreStart Ignore 
Generic.Files.LineLength.TooLong
                                "<div class=\"templatestyles-test\"><p><strong 
class=\"error\">Page <a 
href=\"/wiki/Template:TemplateStyles_test/nonsanitized.css\" 
title=\"Template:TemplateStyles test/nonsanitized.css\">Template:TemplateStyles 
test/nonsanitized.css</a> must have content model \"Sanitized CSS\" for 
TemplateStyles (current model is \"CSS\").</strong>\n</p></div>",
                                // @codingStandardsIgnoreEnd
                        ],
                        'Working tag' => [
-                               $popt,
+                               $popt, [],
                                '<templatestyles src="TemplateStyles 
test/styles1.css" />',
                                // @codingStandardsIgnoreStart Ignore 
Generic.Files.LineLength.TooLong
                                "<div 
class=\"templatestyles-test\"><p><style>.templatestyles-test 
.foo{color:blue}</style>\n</p></div>",
                                // @codingStandardsIgnoreEnd
                        ],
                        'Replaced content (which includes sanitization errors)' 
=> [
-                               $popt,
+                               $popt, [],
                                '<templatestyles src="Test replacement" />',
                                // @codingStandardsIgnoreStart Ignore 
Generic.Files.LineLength.TooLong
                                "<div 
class=\"templatestyles-test\"><p><style>/*\nErrors processing stylesheet 
[[:Template:Test replacement]] (rev ):\n• Unrecognized or unsupported property 
at line 1 character 22.\n*/\n.templatestyles-test 
.baz{color:orange}</style>\n</p></div>",
                                // @codingStandardsIgnoreEnd
                        ],
                        'Still prefixed despite no wrapper' => [
-                               $popt2,
+                               $popt2, [ 'unwrap' => true ],
                                '<templatestyles src="TemplateStyles 
test/styles1.css" />',
                                "<p><style>.mw-parser-output 
.foo{color:blue}</style>\n</p>",
                        ],
                        'Not yet deduplicated tags' => [
-                               $popt,
+                               $popt, [],
                                trim( '
 <templatestyles src="TemplateStyles test/styles1.css" />
 <templatestyles src="TemplateStyles test/styles1.css" />

-- 
To view, visit https://gerrit.wikimedia.org/r/399912
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I23a26ba0dfbe83007cd40e97d71a2139a5ecddc7
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/TemplateStyles
Gerrit-Branch: master
Gerrit-Owner: Anomie <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to