Source of file LumberjackTest.php
Size: 1,843 Bytes - Last Modified: 2021-12-23T10:04:28+00:00
/var/www/docs.ssmods.com/process/src/tests/LumberjackTest.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 | <?php class LumberjackTest extends SapphireTest { protected static $fixture_file = 'fixtures.yml'; protected $extraDataObjects = array( 'SiteTree_Lumberjack', 'SiteTree_LumberjackHidden', 'SiteTree_LumberjackShown', ); public function testGetExcludedSiteTreeClassNames() { $standard = $this->objFromFixture('SiteTree_Lumberjack', 'standard'); $excluded = $standard->getExcludedSiteTreeClassNames(); $excluded = $this->filteredClassNames($excluded, $this->extraDataObjects); $this->assertEquals($excluded, array('SiteTree_LumberjackHidden' => 'SiteTree_LumberjackHidden')); Config::inst()->update('SiteTree', 'show_in_sitetree', false); $excluded = $standard->getExcludedSiteTreeClassNames(); $excluded = $this->filteredClassNames($excluded, $this->extraDataObjects); $this->assertEquals($excluded, array( 'SiteTree_Lumberjack' => 'SiteTree_Lumberjack', 'SiteTree_LumberjackHidden' => 'SiteTree_LumberjackHidden' )); } /** * Because we don't know what other test classes are included, we filter to the ones we know * and want to test. * * @param array $classNames * * @return array */ protected function filteredClassNames($classNames, $explicitClassNames) { $classNames = array_filter($classNames, function($value) use ($explicitClassNames) { return in_array($value, $explicitClassNames); }); return $classNames; } } class SiteTree_Lumberjack extends SiteTree implements TestOnly { private static $extensions = array( 'Lumberjack', ); } class SiteTree_LumberjackHidden extends SiteTree_Lumberjack implements TestOnly { private static $show_in_sitetree = false; } class SiteTree_LumberjackShown extends SiteTree_LumberjackHidden implements TestOnly { private static $show_in_sitetree = true; } |