Page Menu
Home
WickedGov Phorge
Search
Configure Global Search
Log In
Files
F4059733
OutputTransformStageTestBase.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Flag For Later
Award Token
Size
2 KB
Referenced Files
None
Subscribers
None
OutputTransformStageTestBase.php
View Options
<?php
namespace
MediaWiki\Tests\OutputTransform
;
use
MediaWiki\Context\RequestContext
;
use
MediaWiki\MainConfigNames
;
use
MediaWiki\OutputTransform\OutputTransformStage
;
use
MediaWiki\Parser\Parsoid\PageBundleParserOutputConverter
;
use
MediaWikiIntegrationTestCase
;
abstract
class
OutputTransformStageTestBase
extends
MediaWikiIntegrationTestCase
{
abstract
public
function
createStage
():
OutputTransformStage
;
abstract
public
function
provideShouldRun
():
iterable
;
abstract
public
function
provideShouldNotRun
():
iterable
;
abstract
public
function
provideTransform
():
iterable
;
/**
* @dataProvider provideShouldRun
*/
public
function
testShouldRun
(
$parserOutput
,
$parserOptions
,
$options
)
{
$stage
=
$this
->
createStage
();
$this
->
assertTrue
(
$stage
->
shouldRun
(
$parserOutput
,
$parserOptions
,
$options
)
);
}
public
function
setUp
():
void
{
RequestContext
::
resetMain
();
$this
->
overrideConfigValues
(
[
MainConfigNames
::
ScriptPath
=>
'/w'
,
MainConfigNames
::
Script
=>
'/w/index.php'
,
MainConfigNames
::
Server
=>
'//TEST_SERVER'
,
MainConfigNames
::
DefaultSkin
=>
'fallback'
]
);
}
/**
* @dataProvider provideShouldNotRun
*/
public
function
testShouldNotRun
(
$parserOutput
,
$parserOptions
,
$options
)
{
$stage
=
$this
->
createStage
();
$this
->
assertFalse
(
$stage
->
shouldRun
(
$parserOutput
,
$parserOptions
,
$options
)
);
}
/**
* @dataProvider provideTransform
*/
public
function
testTransform
(
$parserOutput
,
$parserOptions
,
$options
,
$expected
,
$message
=
''
)
{
$stage
=
$this
->
createStage
();
$result
=
$stage
->
transform
(
$parserOutput
,
$parserOptions
,
$options
);
// If this has Parsoid internal metadata, clear it in both the expected
// value and the result; these are internal implementation details
// that shouldn't be hardwired into tests.
if
(
PageBundleParserOutputConverter
::
hasPageBundle
(
$result
)
)
{
$key
=
PageBundleParserOutputConverter
::
PARSOID_PAGE_BUNDLE_KEY
;
$expected
->
setExtensionData
(
$key
,
$result
->
getExtensionData
(
$key
)
);
}
// Similarly, clear the parse start time to avoid a spurious diff.
$result
->
clearParseStartTime
();
$expected
->
clearParseStartTime
();
$this
->
assertEquals
(
$expected
,
$result
,
$message
);
}
}
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Aug 16 2026, 05:52 (12 w, 1 d ago)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
2f/26/b03431cbc324af60f82530706145
Default Alt Text
OutputTransformStageTestBase.php (2 KB)
Attached To
Mode
rMWPROD MediaWiki Production
Attached
Detach File
Event Timeline
Log In to Comment