From 400157c8bf0b3769a0db3963bea27903edda3d9d Mon Sep 17 00:00:00 2001 From: Sam Minnee Date: Sun, 5 Dec 2010 08:35:33 +0000 Subject: [PATCH] MINOR Fixed RSSFeedTest which should put test configuration code into setUp() and tearDown() methods. If the test fails halfway through, these will get called to clean up the state (from r113430) git-svn-id: svn://svn.silverstripe.com/silverstripe/open/modules/sapphire/trunk@114535 467b73ca-7a2a-4603-9d3b-597d59a354a9 --- tests/api/RSSFeedTest.php | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/tests/api/RSSFeedTest.php b/tests/api/RSSFeedTest.php index e957fc444..55b235892 100755 --- a/tests/api/RSSFeedTest.php +++ b/tests/api/RSSFeedTest.php @@ -4,18 +4,15 @@ * @subpackage tests */ class RSSFeedTest extends SapphireTest { - + + protected static $original_host; + function testRSSFeed() { $list = new DataObjectSet(); $list->push(new RSSFeedTest_ItemA()); $list->push(new RSSFeedTest_ItemB()); $list->push(new RSSFeedTest_ItemC()); - $origServer = $_SERVER; - $_SERVER['HTTP_HOST'] = 'www.example.org'; - - Director::setBaseURL('/'); - $rssFeed = new RSSFeed($list, "http://www.example.com", "Test RSS Feed", "Test RSS Feed Description"); $content = $rssFeed->feedContent(); @@ -44,11 +41,21 @@ class RSSFeedTest extends SapphireTest { $this->assertContains('ItemA AltContent', $content); $this->assertContains('ItemB AltContent', $content); $this->assertContains('ItemC AltContent', $content); - - Director::setBaseURL(null); - $_SERVER = $origServer; } - + + public function setUp() { + parent::setUp(); + Director::setBaseURL('/'); + if(!self::$original_host) self::$original_host = $_SERVER['HTTP_HOST']; + $_SERVER['HTTP_HOST'] = 'www.example.org'; + } + + public function tearDown() { + parent::tearDown(); + Director::setBaseURL(null); + $_SERVER['HTTP_HOST'] = self::$original_host; + } + } class RSSFeedTest_ItemA extends ViewableData {