From 8766a4c91b01aae68e8a989c6944a2cde5abb4a1 Mon Sep 17 00:00:00 2001 From: Damian Mooyman Date: Tue, 28 Feb 2017 15:46:19 +1300 Subject: [PATCH] Cleanup unit test classes --- code/Model/SiteTreeLinkTracking.php | 5 +- tests/model/SiteTreeBrokenLinksTest.php | 13 +- tests/model/SiteTreeTest.php | 195 ++++++++++++------------ 3 files changed, 111 insertions(+), 102 deletions(-) diff --git a/code/Model/SiteTreeLinkTracking.php b/code/Model/SiteTreeLinkTracking.php index 644562f8..6ddabd6d 100644 --- a/code/Model/SiteTreeLinkTracking.php +++ b/code/Model/SiteTreeLinkTracking.php @@ -2,6 +2,7 @@ namespace SilverStripe\CMS\Model; +use SilverStripe\Assets\File; use SilverStripe\Core\Injector\Injector; use SilverStripe\ORM\DataExtension; use SilverStripe\ORM\DataObject; @@ -75,8 +76,8 @@ class SiteTreeLinkTracking extends DataExtension ); private static $many_many = array( - "LinkTracking" => "SilverStripe\\CMS\\Model\\SiteTree", - "ImageTracking" => "SilverStripe\\Assets\\File" // {@see SiteTreeFileExtension} + "LinkTracking" => SiteTree::class, + "ImageTracking" => File::class, // {@see SiteTreeFileExtension} ); private static $belongs_many_many = array( diff --git a/tests/model/SiteTreeBrokenLinksTest.php b/tests/model/SiteTreeBrokenLinksTest.php index a1cedc38..8315f0ad 100644 --- a/tests/model/SiteTreeBrokenLinksTest.php +++ b/tests/model/SiteTreeBrokenLinksTest.php @@ -1,5 +1,6 @@ setFromString('test', 'test-file.txt'); $file->write(); + /** @var Page $obj */ $obj = $this->objFromFixture('Page', 'content'); $obj->Content = sprintf( '

Working Link

', @@ -106,24 +108,23 @@ class SiteTreeBrokenLinksTest extends SapphireTest $obj->write(); $this->assertTrue($obj->publishRecursive()); // Confirm that it isn't marked as broken to begin with - $obj->flushCache(); - $obj = DataObject::get_by_id("SilverStripe\\CMS\\Model\\SiteTree", $obj->ID); + + $obj = SiteTree::get()->byID($obj->ID); $this->assertEquals(0, $obj->HasBrokenFile); - $liveObj = Versioned::get_one_by_stage("SilverStripe\\CMS\\Model\\SiteTree", "Live", "\"SiteTree\".\"ID\" = $obj->ID"); + $liveObj = Versioned::get_one_by_stage(SiteTree::class, Versioned::LIVE, "\"SiteTree\".\"ID\" = $obj->ID"); $this->assertEquals(0, $liveObj->HasBrokenFile); // Delete the file $file->delete(); // Confirm that it is marked as broken in stage - $obj->flushCache(); - $obj = DataObject::get_by_id("SilverStripe\\CMS\\Model\\SiteTree", $obj->ID); + $obj = SiteTree::get()->byID($obj->ID); $this->assertEquals(1, $obj->HasBrokenFile); // Publishing this page marks it as broken on live too $obj->publishRecursive(); - $liveObj = Versioned::get_one_by_stage("SilverStripe\\CMS\\Model\\SiteTree", "Live", "\"SiteTree\".\"ID\" = $obj->ID"); + $liveObj = Versioned::get_one_by_stage(SiteTree::class, Versioned::LIVE, "\"SiteTree\".\"ID\" = $obj->ID"); $this->assertEquals(1, $liveObj->HasBrokenFile); } diff --git a/tests/model/SiteTreeTest.php b/tests/model/SiteTreeTest.php index be5b6422..c9308083 100644 --- a/tests/model/SiteTreeTest.php +++ b/tests/model/SiteTreeTest.php @@ -1,5 +1,10 @@ array('SiteTreeSubsites', 'Translatable') + SiteTree::class => array('SiteTreeSubsites', 'Translatable') ); protected $extraDataObjects = array( - 'SiteTreeTest_ClassA', - 'SiteTreeTest_ClassB', - 'SiteTreeTest_ClassC', - 'SiteTreeTest_ClassD', - 'SiteTreeTest_ClassCext', - 'SiteTreeTest_NotRoot', - 'SiteTreeTest_StageStatusInherit', + SiteTreeTest_ClassA::class, + SiteTreeTest_ClassB::class, + SiteTreeTest_ClassC::class, + SiteTreeTest_ClassD::class, + SiteTreeTest_ClassCext::class, + SiteTreeTest_NotRoot::class, + SiteTreeTest_StageStatusInherit::class, ); /** @@ -68,14 +74,14 @@ class SiteTreeTest extends SapphireTest // Disable the creation SiteTree::config()->create_default_pages = false; - singleton('SilverStripe\\CMS\\Model\\SiteTree')->requireDefaultRecords(); + singleton(SiteTree::class)->requireDefaultRecords(); // The table should still be empty $this->assertEquals(DB::query('SELECT COUNT("ID") FROM "SiteTree"')->value(), 0); // Enable the creation SiteTree::config()->create_default_pages = true; - singleton('SilverStripe\\CMS\\Model\\SiteTree')->requireDefaultRecords(); + singleton(SiteTree::class)->requireDefaultRecords(); // The table should now have three rows (home, about-us, contact-us) $this->assertEquals(DB::query('SELECT COUNT("ID") FROM "SiteTree"')->value(), 3); @@ -151,7 +157,7 @@ class SiteTreeTest extends SapphireTest $child->Title = 'Page Title'; $child->setParent($parent); - $this->assertInstanceOf("SilverStripe\\CMS\\Model\\SiteTree", $child->Parent); + $this->assertInstanceOf(SiteTree::class, $child->Parent); $this->assertEquals("Section Title", $child->Parent->Title); } @@ -180,7 +186,7 @@ class SiteTreeTest extends SapphireTest $oldMode = Versioned::get_reading_mode(); Versioned::set_stage(Versioned::LIVE); - $checkSiteTree = DataObject::get_one("SilverStripe\\CMS\\Model\\SiteTree", array( + $checkSiteTree = DataObject::get_one(SiteTree::class, array( '"SiteTree"."URLSegment"' => 'get-one-test-page' )); $this->assertEquals("V1", $checkSiteTree->Title); @@ -312,7 +318,7 @@ class SiteTreeTest extends SapphireTest $page->delete(); $this->assertTrue(!DataObject::get_by_id("Page", $pageID)); - $deletedPage = Versioned::get_latest_version('SilverStripe\\CMS\\Model\\SiteTree', $pageID); + $deletedPage = Versioned::get_latest_version(SiteTree::class, $pageID); $resultPage = $deletedPage->doRestoreToStage(); $requeriedPage = DataObject::get_by_id("Page", $pageID); @@ -331,7 +337,7 @@ class SiteTreeTest extends SapphireTest // Check that if we restore while on the live site that the content still gets pushed to // stage Versioned::set_stage(Versioned::LIVE); - $deletedPage = Versioned::get_latest_version('SilverStripe\\CMS\\Model\\SiteTree', $page2ID); + $deletedPage = Versioned::get_latest_version(SiteTree::class, $page2ID); $deletedPage->doRestoreToStage(); $this->assertFalse((bool)Versioned::get_one_by_stage("Page", "Live", "\"SiteTree\".\"ID\" = " . $page2ID)); @@ -347,7 +353,7 @@ class SiteTreeTest extends SapphireTest $about = $this->objFromFixture('Page', 'about'); $staff = $this->objFromFixture('Page', 'staff'); $product = $this->objFromFixture('Page', 'product1'); - $notFound = $this->objFromFixture('SilverStripe\\CMS\\Model\\ErrorPage', '404'); + $notFound = $this->objFromFixture(ErrorPage::class, '404'); SiteTree::config()->nested_urls = false; @@ -358,7 +364,7 @@ class SiteTreeTest extends SapphireTest $this->assertEquals($product->ID, SiteTree::get_by_link($product->Link(), false)->ID); $this->assertEquals($notFound->ID, SiteTree::get_by_link($notFound->Link(), false)->ID); - Config::inst()->update('SilverStripe\\CMS\\Model\\SiteTree', 'nested_urls', true); + Config::inst()->update(SiteTree::class, 'nested_urls', true); $this->assertEquals($home->ID, SiteTree::get_by_link('/', false)->ID); $this->assertEquals($home->ID, SiteTree::get_by_link('/home/', false)->ID); @@ -379,7 +385,7 @@ class SiteTreeTest extends SapphireTest $about = $this->objFromFixture('Page', 'about'); $staff = $this->objFromFixture('Page', 'staff'); - Config::inst()->update('SilverStripe\\CMS\\Model\\SiteTree', 'nested_urls', true); + Config::inst()->update(SiteTree::class, 'nested_urls', true); $this->assertEquals('about-us/', $about->RelativeLink(), 'Matches URLSegment on top level without parameters'); $this->assertEquals('about-us/my-staff/', $staff->RelativeLink(), 'Matches URLSegment plus parent on second level without parameters'); @@ -400,7 +406,7 @@ class SiteTreeTest extends SapphireTest $parent = $this->objFromFixture('Page', 'about'); $child = $this->objFromFixture('Page', 'staff'); - Config::inst()->update('SilverStripe\\CMS\\Model\\SiteTree', 'nested_urls', true); + Config::inst()->update(SiteTree::class, 'nested_urls', true); $child->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE); $parent->URLSegment = 'changed-on-live'; @@ -448,7 +454,7 @@ class SiteTreeTest extends SapphireTest public function testDeleteFromStageOperatesRecursively() { - Config::inst()->update('SilverStripe\\CMS\\Model\\SiteTree', 'enforce_strict_hierarchy', false); + Config::inst()->update(SiteTree::class, 'enforce_strict_hierarchy', false); $pageAbout = $this->objFromFixture('Page', 'about'); $pageStaff = $this->objFromFixture('Page', 'staff'); $pageStaffDuplicate = $this->objFromFixture('Page', 'staffduplicate'); @@ -458,7 +464,7 @@ class SiteTreeTest extends SapphireTest $this->assertFalse(DataObject::get_by_id('Page', $pageAbout->ID)); $this->assertTrue(DataObject::get_by_id('Page', $pageStaff->ID) instanceof Page); $this->assertTrue(DataObject::get_by_id('Page', $pageStaffDuplicate->ID) instanceof Page); - Config::inst()->update('SilverStripe\\CMS\\Model\\SiteTree', 'enforce_strict_hierarchy', true); + Config::inst()->update(SiteTree::class, 'enforce_strict_hierarchy', true); } public function testDeleteFromStageOperatesRecursivelyStrict() @@ -485,7 +491,7 @@ class SiteTreeTest extends SapphireTest public function testDeleteFromLiveOperatesRecursively() { - Config::inst()->update('SilverStripe\\CMS\\Model\\SiteTree', 'enforce_strict_hierarchy', false); + Config::inst()->update(SiteTree::class, 'enforce_strict_hierarchy', false); $this->logInWithPermission('ADMIN'); $pageAbout = $this->objFromFixture('Page', 'about'); @@ -505,12 +511,12 @@ class SiteTreeTest extends SapphireTest $this->assertTrue(DataObject::get_by_id('Page', $pageStaff->ID) instanceof Page); $this->assertTrue(DataObject::get_by_id('Page', $pageStaffDuplicate->ID) instanceof Page); Versioned::set_stage(Versioned::DRAFT); - Config::inst()->update('SilverStripe\\CMS\\Model\\SiteTree', 'enforce_strict_hierarchy', true); + Config::inst()->update(SiteTree::class, 'enforce_strict_hierarchy', true); } public function testUnpublishDoesNotDeleteChildrenWithLooseHierachyOn() { - Config::inst()->update('SilverStripe\\CMS\\Model\\SiteTree', 'enforce_strict_hierarchy', false); + Config::inst()->update(SiteTree::class, 'enforce_strict_hierarchy', false); $this->logInWithPermission('ADMIN'); $pageAbout = $this->objFromFixture('Page', 'about'); @@ -528,7 +534,7 @@ class SiteTreeTest extends SapphireTest $this->assertTrue(DataObject::get_by_id('Page', $pageStaff->ID) instanceof Page); $this->assertTrue(DataObject::get_by_id('Page', $pageStaffDuplicate->ID) instanceof Page); Versioned::set_stage(Versioned::DRAFT); - Config::inst()->update('SilverStripe\\CMS\\Model\\SiteTree', 'enforce_strict_hierarchy', true); + Config::inst()->update(SiteTree::class, 'enforce_strict_hierarchy', true); } public function testDeleteFromLiveOperatesRecursivelyStrict() @@ -572,7 +578,7 @@ class SiteTreeTest extends SapphireTest public function testEditPermissions() { - $editor = $this->objFromFixture("SilverStripe\\Security\\Member", "editor"); + $editor = $this->objFromFixture(Member::class, "editor"); $home = $this->objFromFixture("Page", "home"); $staff = $this->objFromFixture("Page", "staff"); @@ -601,8 +607,8 @@ class SiteTreeTest extends SapphireTest { $page = new Page(); $page->write(); - $allSectionMember = $this->objFromFixture('SilverStripe\\Security\\Member', 'allsections'); - $securityAdminMember = $this->objFromFixture('SilverStripe\\Security\\Member', 'securityadmin'); + $allSectionMember = $this->objFromFixture(Member::class, 'allsections'); + $securityAdminMember = $this->objFromFixture(Member::class, 'securityadmin'); $this->assertTrue($page->canEdit($allSectionMember)); $this->assertFalse($page->canEdit($securityAdminMember)); @@ -612,28 +618,28 @@ class SiteTreeTest extends SapphireTest { // Test logged out users cannot create $this->logOut(); - $this->assertFalse(singleton('SilverStripe\\CMS\\Model\\SiteTree')->canCreate()); + $this->assertFalse(singleton(SiteTree::class)->canCreate()); // Login with another permission $this->logInWithPermission('DUMMY'); - $this->assertFalse(singleton('SilverStripe\\CMS\\Model\\SiteTree')->canCreate()); + $this->assertFalse(singleton(SiteTree::class)->canCreate()); // Login with basic CMS permission $perms = SiteConfig::config()->required_permission; $this->logInWithPermission(reset($perms)); - $this->assertTrue(singleton('SilverStripe\\CMS\\Model\\SiteTree')->canCreate()); + $this->assertTrue(singleton(SiteTree::class)->canCreate()); // Test creation underneath a parent which this user doesn't have access to $parent = $this->objFromFixture('Page', 'about'); - $this->assertFalse(singleton('SilverStripe\\CMS\\Model\\SiteTree')->canCreate(null, array('Parent' => $parent))); + $this->assertFalse(singleton(SiteTree::class)->canCreate(null, array('Parent' => $parent))); // Test creation underneath a parent which doesn't allow a certain child $parentB = new SiteTreeTest_ClassB(); $parentB->Title = 'Only Allows SiteTreeTest_ClassC'; $parentB->write(); - $this->assertTrue(singleton('SiteTreeTest_ClassA')->canCreate(null)); - $this->assertFalse(singleton('SiteTreeTest_ClassA')->canCreate(null, array('Parent' => $parentB))); - $this->assertTrue(singleton('SiteTreeTest_ClassC')->canCreate(null, array('Parent' => $parentB))); + $this->assertTrue(singleton(SiteTreeTest_ClassA::class)->canCreate(null)); + $this->assertFalse(singleton(SiteTreeTest_ClassA::class)->canCreate(null, array('Parent' => $parentB))); + $this->assertTrue(singleton(SiteTreeTest_ClassC::class)->canCreate(null, array('Parent' => $parentB))); // Test creation underneath a parent which doesn't exist in the database. This should // fall back to checking whether the user can create pages at the root of the site @@ -652,31 +658,31 @@ class SiteTreeTest extends SapphireTest // Lock down the site config $sc = $page->SiteConfig; $sc->CanEditType = 'OnlyTheseUsers'; - $sc->EditorGroups()->add($this->idFromFixture('SilverStripe\\Security\\Group', 'admins')); + $sc->EditorGroups()->add($this->idFromFixture(Group::class, 'admins')); $sc->write(); // Confirm that Member.editor can't edit the page - $this->objFromFixture('SilverStripe\\Security\\Member', 'editor')->logIn(); + $this->objFromFixture(Member::class, 'editor')->logIn(); $this->assertFalse($page->canEdit()); // Change the page to be editable by Group.editors, but do not publish - $this->objFromFixture('SilverStripe\\Security\\Member', 'admin')->logIn(); + $this->objFromFixture(Member::class, 'admin')->logIn(); $page->CanEditType = 'OnlyTheseUsers'; - $page->EditorGroups()->add($this->idFromFixture('SilverStripe\\Security\\Group', 'editors')); + $page->EditorGroups()->add($this->idFromFixture(Group::class, 'editors')); $page->write(); // Clear permission cache SiteTree::on_db_reset(); // Confirm that Member.editor can now edit the page - $this->objFromFixture('SilverStripe\\Security\\Member', 'editor')->logIn(); + $this->objFromFixture(Member::class, 'editor')->logIn(); $this->assertTrue($page->canEdit()); // Publish the changes to the page - $this->objFromFixture('SilverStripe\\Security\\Member', 'admin')->logIn(); + $this->objFromFixture(Member::class, 'admin')->logIn(); $page->publishRecursive(); // Confirm that Member.editor can still edit the page - $this->objFromFixture('SilverStripe\\Security\\Member', 'editor')->logIn(); + $this->objFromFixture(Member::class, 'editor')->logIn(); $this->assertTrue($page->canEdit()); } @@ -714,7 +720,7 @@ class SiteTreeTest extends SapphireTest if ($member) { $memberID = $member->ID; } else { - $memberID = $this->idFromFixture("SilverStripe\\Security\\Member", "admin"); + $memberID = $this->idFromFixture(Member::class, "admin"); Session::set("loggedInAs", $memberID); } @@ -742,10 +748,10 @@ class SiteTreeTest extends SapphireTest public function testLinkShortcodeHandler() { $aboutPage = $this->objFromFixture('Page', 'about'); - $redirectPage = $this->objFromFixture('SilverStripe\\CMS\\Model\\RedirectorPage', 'external'); + $redirectPage = $this->objFromFixture(RedirectorPage::class, 'external'); $parser = new ShortcodeParser(); - $parser->register('sitetree_link', array('SilverStripe\\CMS\\Model\\SiteTree', 'link_shortcode_handler')); + $parser->register('sitetree_link', array(SiteTree::class, 'link_shortcode_handler')); $aboutShortcode = sprintf('[sitetree_link,id=%d]', $aboutPage->ID); $aboutEnclosed = sprintf('[sitetree_link,id=%d]Example Content[/sitetree_link]', $aboutPage->ID); @@ -782,7 +788,7 @@ class SiteTreeTest extends SapphireTest public function testIsCurrent() { $aboutPage = $this->objFromFixture('Page', 'about'); - $errorPage = $this->objFromFixture('SilverStripe\\CMS\\Model\\ErrorPage', '404'); + $errorPage = $this->objFromFixture(ErrorPage::class, '404'); Director::set_current_page($aboutPage); $this->assertTrue($aboutPage->isCurrent(), 'Assert that basic isSection checks works.'); @@ -794,7 +800,7 @@ class SiteTreeTest extends SapphireTest Director::set_current_page($aboutPage); $this->assertTrue( - DataObject::get_one('SilverStripe\\CMS\\Model\\SiteTree', array( + DataObject::get_one(SiteTree::class, array( '"SiteTree"."Title"' => 'About Us' ))->isCurrent(), 'Assert that isCurrent works on another instance with the same ID.' @@ -912,7 +918,7 @@ class SiteTreeTest extends SapphireTest $sitetree->URLSegment = 'home'; $this->assertFalse($sitetree->validURLSegment(), 'Conflicts are still recognised with a ParentID value'); - Config::inst()->update('SilverStripe\\CMS\\Model\\SiteTree', 'nested_urls', true); + Config::inst()->update(SiteTree::class, 'nested_urls', true); $sitetree->ParentID = 0; $sitetree->URLSegment = 'home'; @@ -933,7 +939,7 @@ class SiteTreeTest extends SapphireTest public function testValidURLSegmentClassNameConflicts() { $sitetree = new SiteTree(); - $sitetree->URLSegment = 'SilverStripe\\Control\\Controller'; + $sitetree->URLSegment = Controller::class; $this->assertFalse($sitetree->validURLSegment(), 'Class name conflicts are recognised'); } @@ -943,7 +949,7 @@ class SiteTreeTest extends SapphireTest */ public function testValidURLSegmentControllerConflicts() { - Config::inst()->update('SilverStripe\\CMS\\Model\\SiteTree', 'nested_urls', true); + Config::inst()->update(SiteTree::class, 'nested_urls', true); $sitetree = new SiteTree(); $sitetree->ParentID = $this->idFromFixture('SiteTreeTest_Conflicted', 'parent'); @@ -976,23 +982,20 @@ class SiteTreeTest extends SapphireTest public function testURLSegmentMultiByte() { - $origAllow = Config::inst()->get('SilverStripe\\View\\Parsers\\URLSegmentFilter', 'default_allow_multibyte'); - Config::inst()->update('SilverStripe\\View\\Parsers\\URLSegmentFilter', 'default_allow_multibyte', true); + URLSegmentFilter::config()->set('default_allow_multibyte', true); $sitetree = new SiteTree(); $sitetree->write(); $sitetree->URLSegment = 'brötchen'; $sitetree->write(); - $sitetree = DataObject::get_by_id('SilverStripe\\CMS\\Model\\SiteTree', $sitetree->ID, false); + $sitetree = DataObject::get_by_id(SiteTree::class, $sitetree->ID, false); $this->assertEquals($sitetree->URLSegment, rawurlencode('brötchen')); $sitetree->copyVersionToStage(Versioned::DRAFT, Versioned::LIVE); - $sitetree = DataObject::get_by_id('SilverStripe\\CMS\\Model\\SiteTree', $sitetree->ID, false); + $sitetree = DataObject::get_by_id(SiteTree::class, $sitetree->ID, false); $this->assertEquals($sitetree->URLSegment, rawurlencode('brötchen')); - $sitetreeLive = Versioned::get_one_by_stage('SilverStripe\\CMS\\Model\\SiteTree', 'Live', '"SiteTree"."ID" = ' .$sitetree->ID, false); + $sitetreeLive = Versioned::get_one_by_stage(SiteTree::class, 'Live', '"SiteTree"."ID" = ' .$sitetree->ID, false); $this->assertEquals($sitetreeLive->URLSegment, rawurlencode('brötchen')); - - Config::inst()->update('SilverStripe\\View\\Parsers\\URLSegmentFilter', 'default_allow_multibyte', $origAllow); } public function testVersionsAreCreated() @@ -1025,11 +1028,11 @@ class SiteTreeTest extends SapphireTest public function testPageTypeClasses() { $classes = SiteTree::page_type_classes(); - $this->assertNotContains('SilverStripe\\CMS\\Model\\SiteTree', $classes, 'Page types do not include base class'); + $this->assertNotContains(SiteTree::class, $classes, 'Page types do not include base class'); $this->assertContains('Page', $classes, 'Page types do contain subclasses'); // Testing what happens in an incorrect config value is set - hide_ancestor should be a string - Config::inst()->update('SiteTreeTest_ClassA', 'hide_ancestor', true); + Config::inst()->update(SiteTreeTest_ClassA::class, 'hide_ancestor', true); $newClasses = SiteTree::page_type_classes(); $this->assertEquals( $classes, @@ -1048,13 +1051,13 @@ class SiteTreeTest extends SapphireTest $allowedChildren = $page->allowedChildren(); $this->assertContains( - 'SilverStripe\\CMS\\Model\\VirtualPage', + VirtualPage::class, $allowedChildren, 'Includes core subclasses by default' ); $this->assertNotContains( - 'SiteTreeTest_ClassE', + SiteTreeTest_ClassE::class, $allowedChildren, 'HiddenClass instances should not be returned' ); @@ -1078,31 +1081,31 @@ class SiteTreeTest extends SapphireTest */ public function allowedChildrenProvider() { - return array( - array( + return [ + [ // Class name - 'SiteTreeTest_ClassA', + SiteTreeTest_ClassA::class, // Expected - array('SiteTreeTest_ClassB'), + [ SiteTreeTest_ClassB::class ], // Assertion message - 'Direct setting of allowed children' - ), - array( - 'SiteTreeTest_ClassB', - array('SiteTreeTest_ClassC', 'SiteTreeTest_ClassCext'), - 'Includes subclasses' - ), - array( - 'SiteTreeTest_ClassC', - array(), + 'Direct setting of allowed children' + ], + [ + SiteTreeTest_ClassB::class, + [ SiteTreeTest_ClassC::class, SiteTreeTest_ClassCext::class ], + 'Includes subclasses' + ], + [ + SiteTreeTest_ClassC::class, + [], 'Null setting' - ), - array( - 'SiteTreeTest_ClassD', - array('SiteTreeTest_ClassC'), - 'Excludes subclasses if class is prefixed by an asterisk' - ) - ); + ], + [ + SiteTreeTest_ClassD::class, + [SiteTreeTest_ClassC::class], + 'Excludes subclasses if class is prefixed by an asterisk' + ] + ]; } public function testAllowedChildrenValidation() @@ -1152,13 +1155,13 @@ class SiteTreeTest extends SapphireTest $method->setAccessible(true); Session::set("loggedInAs", null); - $this->assertArrayNotHasKey('SiteTreeTest_ClassA', $method->invoke($sitetree)); + $this->assertArrayNotHasKey(SiteTreeTest_ClassA::class, $method->invoke($sitetree)); $this->loginWithPermission('ADMIN'); - $this->assertArrayHasKey('SiteTreeTest_ClassA', $method->invoke($sitetree)); + $this->assertArrayHasKey(SiteTreeTest_ClassA::class, $method->invoke($sitetree)); $this->loginWithPermission('CMS_ACCESS_CMSMain'); - $this->assertArrayHasKey('SiteTreeTest_ClassA', $method->invoke($sitetree)); + $this->assertArrayHasKey(SiteTreeTest_ClassA::class, $method->invoke($sitetree)); Session::set("loggedInAs", null); } @@ -1214,7 +1217,7 @@ class SiteTreeTest extends SapphireTest public function testMetaTagGeneratorDisabling() { - $generator = Config::inst()->get('SilverStripe\\CMS\\Model\\SiteTree', 'meta_generator'); + $generator = Config::inst()->get(SiteTree::class, 'meta_generator'); $page = new SiteTreeTest_PageNode(); @@ -1226,7 +1229,7 @@ class SiteTreeTest extends SapphireTest ); // test proper escaping of quotes in attribute value - Config::inst()->update('SilverStripe\\CMS\\Model\\SiteTree', 'meta_generator', 'Generator with "quotes" in it'); + Config::inst()->update(SiteTree::class, 'meta_generator', 'Generator with "quotes" in it'); $meta = $page->MetaTags(); $this->assertEquals( 1, @@ -1235,7 +1238,7 @@ class SiteTreeTest extends SapphireTest ); // test empty generator - no tag should appear at all - Config::inst()->update('SilverStripe\\CMS\\Model\\SiteTree', 'meta_generator', ''); + Config::inst()->update(SiteTree::class, 'meta_generator', ''); $meta = $page->MetaTags(); $this->assertEquals( 0, @@ -1244,7 +1247,7 @@ class SiteTreeTest extends SapphireTest ); // reset original value - Config::inst()->update('SilverStripe\\CMS\\Model\\SiteTree', 'meta_generator', $generator); + Config::inst()->update(SiteTree::class, 'meta_generator', $generator); } @@ -1278,7 +1281,7 @@ class SiteTreeTest extends SapphireTest // Test with title $meta = $page->MetaTags(); - $charset = Config::inst()->get('SilverStripe\\Control\\ContentNegotiator', 'encoding'); + $charset = Config::inst()->get(ContentNegotiator::class, 'encoding'); $this->assertContains('assertContains('assertContains('