diff options
Diffstat (limited to 'www/wiki/tests/phpunit/includes/parser/ParserIntegrationTest.php')
-rw-r--r-- | www/wiki/tests/phpunit/includes/parser/ParserIntegrationTest.php | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/www/wiki/tests/phpunit/includes/parser/ParserIntegrationTest.php b/www/wiki/tests/phpunit/includes/parser/ParserIntegrationTest.php new file mode 100644 index 00000000..91653b5d --- /dev/null +++ b/www/wiki/tests/phpunit/includes/parser/ParserIntegrationTest.php @@ -0,0 +1,65 @@ +<?php +use Wikimedia\ScopedCallback; + +/** + * This is the TestCase subclass for running a single parser test via the + * ParserTestRunner integration test system. + * + * Note: the following groups are not used by PHPUnit. + * The list in ParserTestFileSuite::__construct() is used instead. + * + * @group large + * @group Database + * @group Parser + * @group ParserTests + * + * @covers Parser + * @covers BlockLevelPass + * @covers CoreParserFunctions + * @covers CoreTagHooks + * @covers Sanitizer + * @covers Preprocessor + * @covers Preprocessor_DOM + * @covers Preprocessor_Hash + * @covers DateFormatter + * @covers LinkHolderArray + * @covers StripState + * @covers ParserOptions + * @covers ParserOutput + */ +class ParserIntegrationTest extends PHPUnit\Framework\TestCase { + + use MediaWikiCoversValidator; + + /** @var array */ + private $ptTest; + + /** @var ParserTestRunner */ + private $ptRunner; + + /** @var ScopedCallback */ + private $ptTeardownScope; + + public function __construct( $runner, $fileName, $test ) { + parent::__construct( 'testParse', [ '[details omitted]' ], + basename( $fileName ) . ': ' . $test['desc'] ); + $this->ptTest = $test; + $this->ptRunner = $runner; + } + + public function testParse() { + $this->ptRunner->getRecorder()->setTestCase( $this ); + $result = $this->ptRunner->runTest( $this->ptTest ); + $this->assertEquals( $result->expected, $result->actual ); + } + + public function setUp() { + $this->ptTeardownScope = $this->ptRunner->staticSetup(); + } + + public function tearDown() { + if ( $this->ptTeardownScope ) { + ScopedCallback::consume( $this->ptTeardownScope ); + } + } +} |