mediawiki-extensions-Scribunto/tests/engines/LuaStandalone/LuaStandaloneEngineTest.php
Brad Jorsch c84d699e9b Refactor unit tests
The existing unit tests work, but the setup is really not amenable to
the addition of additional tests in a modular fashion. This splits
things out so there is a framework for tests in Lua, and all a module
has to do on the Lua side is supply a list of functions to call and
results to expect. And then on the php side, only one array entry and
two short functions need to be added to LuaSandboxEngineTest to run the
tests.

Change-Id: Ib241b246aa0c7223c33887b38a5858582d7d31b0
2013-01-09 15:54:25 +00:00

36 lines
883 B
PHP

<?php
if ( php_sapi_name() !== 'cli' ) exit;
require_once( __DIR__ . '/../LuaCommon/LuaEngineTest.php' );
class Scribunto_LuaStandaloneEngineTest extends Scribunto_LuaEngineTest {
var $stdOpts = array(
'errorFile' => null,
'luaPath' => null,
'memoryLimit' => 50000000,
'cpuLimit' => 30,
'allowEnvFuncs' => true,
);
function newEngine( $opts = array() ) {
$opts = $opts + $this->stdOpts;
return new Scribunto_LuaStandaloneEngine( $opts );
}
function getTestModules() {
return parent::getTestModules() + array(
'StandaloneTests' => __DIR__ . '/StandaloneTests.lua'
);
}
function provideStandaloneTests() {
return $this->getTestProvider( 'StandaloneTests' );
}
/** @dataProvider provideStandaloneTests */
function testStandaloneTests( $key, $testName, $expected ) {
$this->runTestProvider( 'StandaloneTests', $key, $testName, $expected );
}
}