Ensure that Requirements backend instance is preserved between tests

git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@65507 467b73ca-7a2a-4603-9d3b-597d59a354a9
This commit is contained in:
Sam Minnee 2008-11-10 01:13:42 +00:00
parent f7da9a3637
commit 648a459060
3 changed files with 7 additions and 2 deletions

View File

@ -13,7 +13,7 @@ class Requirements {
* @var Requirements * @var Requirements
*/ */
private static $backend = null; private static $backend = null;
protected static function backend() { public static function backend() {
if(!self::$backend) { if(!self::$backend) {
self::$backend = new Requirements_Backend(); self::$backend = new Requirements_Backend();

View File

@ -21,6 +21,7 @@ class SapphireTest extends PHPUnit_Framework_TestCase {
protected $originalMailer; protected $originalMailer;
protected $originalMemberPasswordValidator; protected $originalMemberPasswordValidator;
protected $originalRequirements;
protected $mailer; protected $mailer;
@ -32,6 +33,7 @@ class SapphireTest extends PHPUnit_Framework_TestCase {
function setUp() { function setUp() {
// Remove password validation // Remove password validation
$this->originalMemberPasswordValidator = Member::password_validator(); $this->originalMemberPasswordValidator = Member::password_validator();
$this->originalRequirements = Requirements::backend();
Member::set_password_validator(null); Member::set_password_validator(null);
$className = get_class($this); $className = get_class($this);
@ -122,6 +124,9 @@ class SapphireTest extends PHPUnit_Framework_TestCase {
// Restore password validation // Restore password validation
Member::set_password_validator($this->originalMemberPasswordValidator); Member::set_password_validator($this->originalMemberPasswordValidator);
// Restore requirements
Requirements::set_backend($this->originalRequirements);
} }
/** /**

View File

@ -21,7 +21,7 @@ class SSViewerTest extends SapphireTest {
$requirements->expects($this->once())->method('javascript')->with($jsFile); $requirements->expects($this->once())->method('javascript')->with($jsFile);
$requirements->expects($this->once())->method('css')->with($cssFile); $requirements->expects($this->once())->method('css')->with($cssFile);
Requirements::set_backend($requirements);; Requirements::set_backend($requirements);
$data = new ArrayData(array()); $data = new ArrayData(array());