I'm trying to test a parser tag extension with phpunit and have run into a
strange problem. Whenever my extension calls $parser->recursiveTagParse(), the unit
test blows up in Parser.php, complaining that $parser->mOptions is a non-object.
The tag callback looks pretty normal:
static function render($input, $argv, $parser, $frame) {
// ...
$parser->recursiveTagParse("something");
// ...
}
and I have unit tests that call render()directly:
public function testMyTag() {
global $wgParser;
$this->assertEqual(MyTag::render("some text", array(), $wgParser, false));
}
(I don't like using $wgParser here, and maybe that's the root of my problems?)
The tag works perfectly in the browser. Just not when unit-testing on the command
line.
The blowup occurs in Parser.php::replaceVariables, when it calls
$this->mOptions->getMaxIncludeSize().
Any advice appreciated!!
Thanks,
DanB