ParserTestFileSuite.php 965 B

123456789101112131415161718192021222324252627282930313233
  1. <?php
  2. /**
  3. * This is the suite class for running tests within a single .txt source file.
  4. * It is not invoked directly. Use --filter to select files, or
  5. * use parserTests.php.
  6. */
  7. class ParserTestFileSuite extends PHPUnit_Framework_TestSuite {
  8. private $ptRunner;
  9. private $ptFileName;
  10. private $ptFileInfo;
  11. function __construct( $runner, $name, $fileName ) {
  12. parent::__construct( $name );
  13. $this->ptRunner = $runner;
  14. $this->ptFileName = $fileName;
  15. $this->ptFileInfo = TestFileReader::read( $this->ptFileName );
  16. foreach ( $this->ptFileInfo['tests'] as $test ) {
  17. $this->addTest( new ParserIntegrationTest( $runner, $fileName, $test ),
  18. [ 'Database', 'Parser', 'ParserTests' ] );
  19. }
  20. }
  21. function setUp() {
  22. if ( !$this->ptRunner->meetsRequirements( $this->ptFileInfo['requirements'] ) ) {
  23. $this->markTestSuiteSkipped( 'required extension not enabled' );
  24. } else {
  25. $this->ptRunner->addArticles( $this->ptFileInfo[ 'articles'] );
  26. }
  27. }
  28. }