` parse clears the original parser state.
* @see https://phabricator.wikimedia.org/T240248
*/
public function testReferenceStackError() {
$this->insertPage( 'Cite-tracking-category-cite-error', '{{PAGENAME}}', NS_MEDIAWIKI );
$services = $this->getServiceContainer();
// Reset the MessageCache in order to force it to clone a new parser.
$services->resetServiceForTesting( 'MessageCache' );
$services->getMessageCache()->enable();
$parserOutput = $services->getParser()->parse(
'
[text #1]
[text #2]
[text #3]
',
Title::makeTitle( NS_MAIN, mt_rand() ),
ParserOptions::newFromAnon()
);
$this->assertStringContainsString(
'cite_ref-2',
$parserOutput->getRawText(),
'Internal counter should not reset to 1 for text #3'
);
}
}