Файловый менеджер - Редактировать - /var/www/html/mediawiki-1.43.1/tests/phpunit/unit/includes/Html/HtmlHelperTest.php
Ðазад
<?php namespace MediaWiki\Tests\Unit; use MediaWiki\Html\HtmlHelper; use MediaWikiUnitTestCase; use Wikimedia\RemexHtml\HTMLData; use Wikimedia\RemexHtml\Serializer\SerializerNode; use Wikimedia\RemexHtml\Tokenizer\PlainAttributes; /** * @covers \MediaWiki\Html\HtmlHelper */ class HtmlHelperTest extends MediaWikiUnitTestCase { public function testModifyElements() { $shouldModifyCallback = static function ( SerializerNode $node ) { return $node->namespace === HTMLData::NS_HTML && $node->name === 'a' && isset( $node->attrs['href'] ); }; $modifyCallbackInPlace = static function ( SerializerNode $node ) { $node->attrs['href'] = 'https://tracker.org/' . $node->attrs['href']; return $node; }; $input = '<p>Foo <a href="https://example.org/">bar</a> baz</p>'; $expectedOutput = '<p>Foo <a href="https://tracker.org/https://example.org/">bar</a> baz</p>'; $output = HtmlHelper::modifyElements( $input, $shouldModifyCallback, $modifyCallbackInPlace ); $this->assertSame( $expectedOutput, $output ); $modifyCallbackNew = static function ( SerializerNode $node ) { $href = 'https://tracker.org/' . $node->attrs['href']; $newNode = new SerializerNode( $node->id, $node->parentId, $node->namespace, $node->name, new PlainAttributes( [ 'href' => $href ] ), $node->void ); $node->attrs['href'] = 'https://tracker.org/' . $node->attrs['href']; return $newNode; }; $output = HtmlHelper::modifyElements( $input, $shouldModifyCallback, $modifyCallbackNew ); $this->assertSame( $expectedOutput, $output ); // Check the "legacy compatibility" mode, for void elements like <link> $input = "<link data-test='<style data-mw-deduplicate=\" \">bar</style>'>"; $shouldModifyCallback = static function ( SerializerNode $node ) { return false; }; // HTML5 output $expectedOutput = '<link data-test="<style data-mw-deduplicate=" ">bar</style>">'; $output = HtmlHelper::modifyElements( $input, $shouldModifyCallback, $modifyCallbackInPlace, true ); $this->assertSame( $expectedOutput, $output ); // "Legacy" output $expectedOutput = '<link data-test="<style data-mw-deduplicate=" ">bar</style>" />'; $output = HtmlHelper::modifyElements( $input, $shouldModifyCallback, $modifyCallbackInPlace, false ); $this->assertSame( $expectedOutput, $output ); } }
| ver. 1.1 | |
.
| PHP 8.4.18 | Ð“ÐµÐ½ÐµÑ€Ð°Ñ†Ð¸Ñ Ñтраницы: 0 |
proxy
|
phpinfo
|
ÐаÑтройка