public function testAllowedChildren() { $page = new SiteTree(); $this->assertContains('VirtualPage', $page->allowedChildren(), 'Includes core subclasses by default'); $classA = new SiteTreeTest_ClassA(); $this->assertEquals(array('SiteTreeTest_ClassB'), $classA->allowedChildren(), 'Direct setting of allowed children'); $classB = new SiteTreeTest_ClassB(); $this->assertEquals(array('SiteTreeTest_ClassC', 'SiteTreeTest_ClassCext'), $classB->allowedChildren(), 'Includes subclasses'); $classD = new SiteTreeTest_ClassD(); $this->assertEquals(array('SiteTreeTest_ClassC'), $classD->allowedChildren(), 'Excludes subclasses if class is prefixed by an asterisk'); $classC = new SiteTreeTest_ClassC(); $this->assertEquals(array(), $classC->allowedChildren(), 'Null setting'); }