diff options
author | jenkins-bot <jenkins-bot@gerrit.wikimedia.org> | 2025-05-14 22:02:25 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@wikimedia.org> | 2025-05-14 22:02:25 +0000 |
commit | f6902eae5c876d47e4b2f94ae108db38e7876a31 (patch) | |
tree | 31a1f04b162bcf5f3f02410c3b9884c3bf9fbd50 /tests | |
parent | b7d615ce0479aa8398dab8f73555a2595aded8ea (diff) | |
parent | 02f69d5dc99a964981c57b597eedffa1f253a14c (diff) | |
download | mediawikicore-master.tar.gz mediawikicore-master.zip |
Diffstat (limited to 'tests')
-rw-r--r-- | tests/phpunit/includes/OutputTransform/Stages/DeduplicateStylesTest.php | 42 |
1 files changed, 33 insertions, 9 deletions
diff --git a/tests/phpunit/includes/OutputTransform/Stages/DeduplicateStylesTest.php b/tests/phpunit/includes/OutputTransform/Stages/DeduplicateStylesTest.php index eae21cbbedcd..45c5a4d629ec 100644 --- a/tests/phpunit/includes/OutputTransform/Stages/DeduplicateStylesTest.php +++ b/tests/phpunit/includes/OutputTransform/Stages/DeduplicateStylesTest.php @@ -35,8 +35,12 @@ class DeduplicateStylesTest extends OutputTransformStageTestBase { ] ); } - public function provideTransform(): array { - $dedup = <<<EOF + public function provideTransform(): iterable { + $testCases = [ + 'legacy parser output' => [ + TestUtils::TEST_TO_DEDUP, + [], + <<<EOF <p>This is a test document.</p> <style data-mw-deduplicate="duplicate1">.Duplicate1 {}</style> <link rel="mw-deduplicated-inline-style" href="mw-data:duplicate1" /> @@ -47,13 +51,33 @@ class DeduplicateStylesTest extends OutputTransformStageTestBase { <link rel="mw-deduplicated-inline-style" href="mw-data:duplicate1" /> <style data-mw-deduplicate="duplicate3">.Duplicate1 {}</style> <style>.Duplicate1 {}</style> -EOF; - - $po = new ParserOutput( TestUtils::TEST_TO_DEDUP ); - $expected = new ParserOutput( $dedup ); - $opts = []; - return [ - [ $po, null, $opts, $expected ] +EOF + ], + 'parsoid content with encoded style tags in data-mw attribute' => [ + <<<EOF +<style data-mw-deduplicate="duplicate1">.Duplicate1 {}</style> +<span data-mw="{"name":"ref","attrs":{"name":"blank"}, +"body":{"html":"<style data-mw-deduplicate=\"duplicate1\">.Duplicate1 {}</style>"}"></span> +<style data-mw-deduplicate="duplicate1">.Duplicate1 {}</style> +EOF + , + [ 'isParsoidContent' => true ], + <<<EOF +<style data-mw-deduplicate="duplicate1">.Duplicate1 {}</style> +<span data-mw="{"name":"ref","attrs":{"name":"blank"}, +"body":{"html":"<style data-mw-deduplicate=\"duplicate1\">.Duplicate1 {}</style>"}"></span> +<link rel="mw-deduplicated-inline-style" href="mw-data:duplicate1"> +EOF + ] ]; + + foreach ( $testCases as $name => [ $input, $options, $expected ] ) { + yield $name => [ + new ParserOutput( $input ), + null, + $options, + new ParserOutput( $expected ) + ]; + } } } |