MINOR tests can now require default records on classes (from r101025)

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@111566 467b73ca-7a2a-4603-9d3b-597d59a354a9
This commit is contained in:
Sam Minnee 2010-10-04 04:31:58 +00:00
parent 47df057e63
commit 848faf2a6b

View File

@ -40,6 +40,13 @@ class SapphireTest extends PHPUnit_Framework_TestCase {
protected static $is_running_test = false; protected static $is_running_test = false;
/**
* By default, setUp() does not require default records. Pass
* class names in here, and the require/augment default records
* function will be called on them.
*/
protected $requireDefaultRecordsFrom = array();
/** /**
* A list of extensions that can't be applied during the execution of this run. If they are * A list of extensions that can't be applied during the execution of this run. If they are
@ -129,6 +136,12 @@ class SapphireTest extends PHPUnit_Framework_TestCase {
self::empty_temp_db(); self::empty_temp_db();
foreach($this->requireDefaultRecordsFrom as $className) {
$instance = singleton($className);
if (method_exists($instance, 'requireDefaultRecords')) $instance->requireDefaultRecords();
if (method_exists($instance, 'augmentDefaultRecords')) $instance->augmentDefaultRecords();
}
if($fixtureFile) { if($fixtureFile) {
$fixtureFiles = (is_array($fixtureFile)) ? $fixtureFile : array($fixtureFile); $fixtureFiles = (is_array($fixtureFile)) ? $fixtureFile : array($fixtureFile);