wiki.techinc.nl/tests/phpunit/includes/content/Transform/ContentTransformerTest.php
Roman Stolar 42442e01ff Move Content::preloadTransform to ContentHandler
Update ContentTransformer to access ContentHandler::preLoadTransform through the service.
Prepare object to hold a data that required for ContentHandler::preLoadTranform params.

This is a fully backwards compatible change.
We are doing hard deprecation via MWDebug::detectDeprecatedOverride.

However, with the ContentHandler calling Content and
Content calling ContentHandler, it doesn't matter whether
callers use Content or ContentHandler. This will allow us
to naturally convert all callers.

Bug: T287157
Change-Id: I89537e1e7d24c6e15252b2b51890a0bd81ea3e6b
2021-08-17 15:17:34 +00:00

54 lines
1.6 KiB
PHP

<?php
use MediaWiki\MediaWikiServices;
class ContentTransformerTest extends MediaWikiIntegrationTestCase {
public function preSaveTransformProvider() {
return [
[
new WikitextContent( 'Test ~~~' ),
'Test [[Special:Contributions/127.0.0.1|127.0.0.1]]'
],
];
}
/**
* @covers MediaWiki\Content\Transform\ContentTransformer::preSaveTransform
*
* @dataProvider preSaveTransformProvider
*/
public function testPreSaveTransform( $content, $expectedContainText ) {
$services = MediaWikiServices::getInstance();
$title = Title::newFromText( 'Test' );
$user = new User();
$user->setName( "127.0.0.1" );
$options = ParserOptions::newFromUser( $user );
$newContent = $services->getContentTransformer()->preSaveTransform( $content, $title, $user, $options );
$this->assertSame( $expectedContainText, $newContent->serialize() );
}
public function preloadTransformProvider() {
return [
[
new WikitextContent( '{{Foo}}<noinclude> censored</noinclude> information <!-- is very secret -->' ),
'{{Foo}} information <!-- is very secret -->'
],
];
}
/**
* @covers MediaWiki\Content\Transform\ContentTransformer::preloadTransform
*
* @dataProvider preloadTransformProvider
*/
public function testPreloadTransform( $content, $expectedContainText ) {
$services = MediaWikiServices::getInstance();
$title = Title::newFromText( 'Test' );
$options = ParserOptions::newFromAnon();
$newContent = $services->getContentTransformer()->preloadTransform( $content, $title, $options );
$this->assertSame( $expectedContainText, $newContent->serialize() );
}
}