preSaveTransform(
$this->createMock( Title::class ),
$this->createMock( User::class ),
$this->createMock( ParserOptions::class )
);
$this->assertTrue( $newObj->equals( new JsonContent( $transformed ) ) );
}
public function provideDataAndParserText() {
return [
[
[],
'
'
],
[
(object)[],
''
],
[
(object)[ 'foo' ],
''
],
[
(object)[ 'foo', 'bar' ],
''
],
[
(object)[ 'baz' => 'foo', 'bar' ],
''
],
[
(object)[ 'baz' => 1000, 'bar' ],
''
],
[
(object)[ '' ],
'| 0 | "' .
'<script>alert("evil!")</script>"' .
' |
|---|
',
],
];
}
/**
* @dataProvider provideDataAndParserText
*/
public function testFillParserOutput( $data, $expected ) {
$obj = new JsonContent( FormatJson::encode( $data ) );
$parserOutput = $obj->getParserOutput(
$this->createMock( Title::class ),
null,
null,
true
);
$this->assertInstanceOf( ParserOutput::class, $parserOutput );
$this->assertEquals( $expected, $parserOutput->getText() );
}
}