From 99d4a6ee1a86c10b2d9e41076e88d82bc501d5cb Mon Sep 17 00:00:00 2001 From: Robbie Averill Date: Fri, 12 May 2017 11:38:49 +1200 Subject: [PATCH] FIX Ensure that translatable cannot break tests. Separate page stub class. Remove injector nesting. --- tests/ExternalLinksTest.php | 21 ++++++--------------- tests/ExternalLinksTest.yml | 4 ++-- tests/ExternalLinksTestPage.php | 8 ++++++++ 3 files changed, 16 insertions(+), 17 deletions(-) create mode 100644 tests/ExternalLinksTestPage.php diff --git a/tests/ExternalLinksTest.php b/tests/ExternalLinksTest.php index 754aeaf..6186829 100644 --- a/tests/ExternalLinksTest.php +++ b/tests/ExternalLinksTest.php @@ -5,9 +5,13 @@ class ExternalLinksTest extends SapphireTest { protected static $fixture_file = 'ExternalLinksTest.yml'; protected $extraDataObjects = array( - 'ExternalLinksTest_Page' + 'ExternalLinksTestPage' ); + protected $illegalExtensions = array( + 'SiteTree' => array('Translatable') + ); + public function setUpOnce() { if (class_exists('Phockito')) { Phockito::include_hamcrest(false); @@ -19,8 +23,6 @@ class ExternalLinksTest extends SapphireTest { public function setUp() { parent::setUp(); - Injector::nest(); - // Check dependencies if (!class_exists('Phockito')) { $this->skipTest = true; @@ -72,11 +74,6 @@ class ExternalLinksTest extends SapphireTest { Injector::inst()->registerService($checker, 'LinkChecker'); } - public function tearDown() { - Injector::unnest(); - parent::tearDown(); - } - public function testLinks() { // Run link checker $task = CheckExternalLinksTask::create(); @@ -91,7 +88,7 @@ class ExternalLinksTest extends SapphireTest { // Check all pages have had the correct HTML adjusted for($i = 1; $i <= 5; $i++) { - $page = $this->objFromFixture('ExternalLinksTest_Page', 'page'.$i); + $page = $this->objFromFixture('ExternalLinksTestPage', 'page'.$i); $this->assertNotEmpty($page->Content); $this->assertEquals( $page->ExpectedContent, @@ -149,9 +146,3 @@ class ExternalLinksTest extends SapphireTest { 'BrokenExternalLinksReport is in reports list'); } } - -class ExternalLinksTest_Page extends Page implements TestOnly { - private static $db = array( - 'ExpectedContent' => 'HTMLText' - ); -} diff --git a/tests/ExternalLinksTest.yml b/tests/ExternalLinksTest.yml index 9e92c62..7b026b2 100644 --- a/tests/ExternalLinksTest.yml +++ b/tests/ExternalLinksTest.yml @@ -1,4 +1,4 @@ -ExternalLinksTest_Page: +ExternalLinksTestPage: # Tests mix of broken and working external links page1: Title: 'Page 1' @@ -18,7 +18,7 @@ ExternalLinksTest_Page: Content: >

Still Broken

ExpectedContent: > -

Still Broken

+

Still Broken

# Tests internal broken links not marking a page as broken page3: Title: 'Page 3' diff --git a/tests/ExternalLinksTestPage.php b/tests/ExternalLinksTestPage.php new file mode 100644 index 0000000..69fd768 --- /dev/null +++ b/tests/ExternalLinksTestPage.php @@ -0,0 +1,8 @@ + 'HTMLText' + ); +}