mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-10-22 12:05:37 +00:00
BUGFIX: testing framework needs to be reset to a clean state after each test: now also nested urls and redirection state will be reverted (from r98944)
git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@102815 467b73ca-7a2a-4603-9d3b-597d59a354a9
This commit is contained in:
parent
0759568db5
commit
5dcf53c239
@ -34,6 +34,7 @@ class SapphireTest extends PHPUnit_Framework_TestCase {
|
||||
protected $originalRequirements;
|
||||
protected $originalIsRunningTest;
|
||||
protected $originalTheme;
|
||||
protected $originalNestedURLsState;
|
||||
|
||||
protected $mailer;
|
||||
|
||||
@ -109,6 +110,9 @@ class SapphireTest extends PHPUnit_Framework_TestCase {
|
||||
Controller::curr()->setSession(new Session(array()));
|
||||
|
||||
$this->originalTheme = SSViewer::current_theme();
|
||||
|
||||
// Save nested_urls state, so we can restore it later
|
||||
$this->originalNestedURLsState = SiteTree::nested_urls();
|
||||
|
||||
$className = get_class($this);
|
||||
$fixtureFile = eval("return {$className}::\$fixture_file;");
|
||||
@ -346,6 +350,21 @@ class SapphireTest extends PHPUnit_Framework_TestCase {
|
||||
|
||||
// Reset mocked datetime
|
||||
SS_Datetime::clear_mock_now();
|
||||
|
||||
// Restore nested_urls state
|
||||
if ( $this->originalNestedURLsState )
|
||||
SiteTree::enable_nested_urls();
|
||||
else
|
||||
SiteTree::disable_nested_urls();
|
||||
|
||||
// Stop the redirection that might have been requested in the test.
|
||||
// Note: Ideally a clean Controller should be created for each test.
|
||||
// Now all tests executed in a batch share the same controller.
|
||||
$controller = Controller::curr();
|
||||
if ( $controller && $controller->response && $controller->response->getHeader('Location') ) {
|
||||
$controller->response->setStatusCode(200);
|
||||
$controller->response->removeHeader('Location');
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Clear the log of emails sent
|
||||
|
Loading…
x
Reference in New Issue
Block a user