/**
* @group Database
* @group Parser
+ *
+ * @covers Parser
+ * @covers BlockLevelPass
+ * @covers StripState
+ *
+ * @covers Preprocessor_DOM
+ * @covers PPDStack
+ * @covers PPDStackElement
+ * @covers PPDPart
+ * @covers PPFrame_DOM
+ * @covers PPTemplateFrame_DOM
+ * @covers PPCustomFrame_DOM
+ * @covers PPNode_DOM
+ *
+ * @covers Preprocessor_Hash
+ * @covers PPDStack_Hash
+ * @covers PPDStackElement_Hash
+ * @covers PPDPart_Hash
+ * @covers PPFrame_Hash
+ * @covers PPTemplateFrame_Hash
+ * @covers PPCustomFrame_Hash
+ * @covers PPNode_Hash_Tree
+ * @covers PPNode_Hash_Text
+ * @covers PPNode_Hash_Array
+ * @covers PPNode_Hash_Attr
*/
-class TagHookTest extends MediaWikiTestCase {
+class TagHooksTest extends MediaWikiTestCase {
public static function provideValidNames() {
- return array(
- array( 'foo' ),
- array( 'foo-bar' ),
- array( 'foo_bar' ),
- array( 'FOO-BAR' ),
- array( 'foo bar' )
- );
+ return [
+ [ 'foo' ],
+ [ 'foo-bar' ],
+ [ 'foo_bar' ],
+ [ 'FOO-BAR' ],
+ [ 'foo bar' ]
+ ];
}
public static function provideBadNames() {
- return array( array( "foo<bar" ), array( "foo>bar" ), array( "foo\nbar" ), array( "foo\rbar" ) );
+ return [ [ "foo<bar" ], [ "foo>bar" ], [ "foo\nbar" ], [ "foo\rbar" ] ];
+ }
+
+ private function getParserOptions() {
+ global $wgContLang;
+ $popt = ParserOptions::newFromUserAndLang( new User, $wgContLang );
+ return $popt;
}
/**
* @dataProvider provideValidNames
- * @covers Parser::setHook
*/
public function testTagHooks( $tag ) {
- global $wgParserConf, $wgContLang;
+ global $wgParserConf;
$parser = new Parser( $wgParserConf );
- $parser->setHook( $tag, array( $this, 'tagCallback' ) );
+ $parser->setHook( $tag, [ $this, 'tagCallback' ] );
$parserOutput = $parser->parse(
"Foo<$tag>Bar</$tag>Baz",
Title::newFromText( 'Test' ),
- ParserOptions::newFromUserAndLang( new User, $wgContLang )
+ $this->getParserOptions()
);
- $this->assertEquals( "<p>FooOneBaz\n</p>", $parserOutput->getText() );
+ $this->assertEquals( "<p>FooOneBaz\n</p>", $parserOutput->getText( [ 'unwrap' => true ] ) );
$parser->mPreprocessor = null; # Break the Parser <-> Preprocessor cycle
}
/**
* @dataProvider provideBadNames
* @expectedException MWException
- * @covers Parser::setHook
*/
public function testBadTagHooks( $tag ) {
- global $wgParserConf, $wgContLang;
+ global $wgParserConf;
$parser = new Parser( $wgParserConf );
- $parser->setHook( $tag, array( $this, 'tagCallback' ) );
+ $parser->setHook( $tag, [ $this, 'tagCallback' ] );
$parser->parse(
"Foo<$tag>Bar</$tag>Baz",
Title::newFromText( 'Test' ),
- ParserOptions::newFromUserAndLang( new User, $wgContLang )
+ $this->getParserOptions()
);
$this->fail( 'Exception not thrown.' );
}
/**
* @dataProvider provideValidNames
- * @covers Parser::setFunctionTagHook
*/
public function testFunctionTagHooks( $tag ) {
- global $wgParserConf, $wgContLang;
+ global $wgParserConf;
$parser = new Parser( $wgParserConf );
- $parser->setFunctionTagHook( $tag, array( $this, 'functionTagCallback' ), 0 );
+ $parser->setFunctionTagHook( $tag, [ $this, 'functionTagCallback' ], 0 );
$parserOutput = $parser->parse(
"Foo<$tag>Bar</$tag>Baz",
Title::newFromText( 'Test' ),
- ParserOptions::newFromUserAndLang( new User, $wgContLang )
+ $this->getParserOptions()
);
- $this->assertEquals( "<p>FooOneBaz\n</p>", $parserOutput->getText() );
+ $this->assertEquals( "<p>FooOneBaz\n</p>", $parserOutput->getText( [ 'unwrap' => true ] ) );
$parser->mPreprocessor = null; # Break the Parser <-> Preprocessor cycle
}
/**
* @dataProvider provideBadNames
* @expectedException MWException
- * @covers Parser::setFunctionTagHook
*/
public function testBadFunctionTagHooks( $tag ) {
- global $wgParserConf, $wgContLang;
+ global $wgParserConf;
$parser = new Parser( $wgParserConf );
$parser->setFunctionTagHook(
$tag,
- array( $this, 'functionTagCallback' ),
+ [ $this, 'functionTagCallback' ],
Parser::SFH_OBJECT_ARGS
);
$parser->parse(
"Foo<$tag>Bar</$tag>Baz",
Title::newFromText( 'Test' ),
- ParserOptions::newFromUserAndLang( new User, $wgContLang )
+ $this->getParserOptions()
);
$this->fail( 'Exception not thrown.' );
}