protected static function makeSuite($className, $group = null)
 {
     $suite = new PHPUnit_Framework_TestSuite();
     $suite->setName($className);
     $class = new ReflectionClass($className);
     foreach (self::$engineConfigurations as $engineName => $opts) {
         if ($group !== null && $group !== $engineName) {
             continue;
         }
         try {
             $parser = new Parser();
             $parser->startExternalParse(Title::newMainPage(), new ParserOptions(), Parser::OT_HTML, true);
             $engineClass = "Scribunto_{$engineName}Engine";
             $engine = new $engineClass(self::$engineConfigurations[$engineName] + array('parser' => $parser));
             $parser->scribunto_engine = $engine;
             $engine->setTitle($parser->getTitle());
             $engine->getInterpreter();
         } catch (Scribunto_LuaInterpreterNotFoundError $e) {
             $suite->addTest(new Scribunto_LuaEngineTestSkip($className, "interpreter for {$engineName} is not available"), array('Lua', $engineName));
             continue;
         }
         // Work around PHPUnit breakage: the only straightforward way to
         // get the data provider is to call
         // PHPUnit_Util_Test::getProvidedData, but that instantiates the
         // class without passing any parameters to the constructor. But we
         // *need* that engine name.
         self::$staticEngineName = $engineName;
         $engineSuite = new PHPUnit_Framework_TestSuite();
         $engineSuite->setName("{$engineName}: {$className}");
         foreach ($class->getMethods() as $method) {
             if (PHPUnit_Framework_TestSuite::isTestMethod($method) && $method->isPublic()) {
                 $name = $method->getName();
                 $groups = PHPUnit_Util_Test::getGroups($className, $name);
                 $groups[] = 'Lua';
                 $groups[] = $engineName;
                 $groups = array_unique($groups);
                 $data = PHPUnit_Util_Test::getProvidedData($className, $name);
                 if (is_array($data) || $data instanceof Iterator) {
                     // with @dataProvider
                     $dataSuite = new PHPUnit_Framework_TestSuite_DataProvider($className . '::' . $name);
                     foreach ($data as $k => $v) {
                         $dataSuite->addTest(new $className($name, $v, $k, $engineName), $groups);
                     }
                     $engineSuite->addTest($dataSuite);
                 } elseif ($data === false) {
                     // invalid @dataProvider
                     $engineSuite->addTest(new PHPUnit_Framework_Warning("The data provider specified for {$className}::{$name} is invalid."));
                 } else {
                     // no @dataProvider
                     $engineSuite->addTest(new $className($name, array(), '', $engineName), $groups);
                 }
             }
         }
         $suite->addTest($engineSuite);
     }
     return $suite;
 }
 protected function getTestModules()
 {
     return parent::getTestModules() + array('TextLibraryTests' => __DIR__ . '/TextLibraryTests.lua');
 }
示例#3
0
 function getTestModules()
 {
     return parent::getTestModules() + array('CommonTests' => __DIR__ . '/CommonTests.lua', 'CommonTests-data' => __DIR__ . '/CommonTests-data.lua', 'CommonTests-data-fail1' => __DIR__ . '/CommonTests-data-fail1.lua', 'CommonTests-data-fail2' => __DIR__ . '/CommonTests-data-fail2.lua', 'CommonTests-data-fail3' => __DIR__ . '/CommonTests-data-fail3.lua', 'CommonTests-data-fail4' => __DIR__ . '/CommonTests-data-fail4.lua', 'CommonTests-data-fail5' => __DIR__ . '/CommonTests-data-fail5.lua');
 }
 protected function getTestModules()
 {
     return parent::getTestModules() + array('UstringLibraryTests' => __DIR__ . '/UstringLibraryTests.lua', 'UstringLibraryNormalizationTests' => __DIR__ . '/UstringLibraryNormalizationTests.lua');
 }
示例#5
0
 function getTestModules()
 {
     return parent::getTestModules() + array('SandboxTests' => __DIR__ . '/SandboxTests.lua');
 }
示例#6
0
 function getTestModules()
 {
     return parent::getTestModules() + array('UriLibraryTests' => __DIR__ . '/UriLibraryTests.lua');
 }
示例#7
0
 protected function getTestModules()
 {
     return parent::getTestModules() + array('StandaloneTests' => __DIR__ . '/StandaloneTests.lua');
 }
 function getTestModules()
 {
     return parent::getTestModules() + array('LibraryUtilTests' => __DIR__ . '/LibraryUtilTests.lua');
 }