BUG include silverstripe core files into roots

This commit is contained in:
Thomas Portelange 2023-07-29 08:13:45 +02:00 committed by Maxime Rainville
parent d9f40a2e3c
commit 359cb1427a
2 changed files with 13 additions and 0 deletions

View File

@ -650,6 +650,11 @@ class ClassManifest
} }
$this->children[$lowerAncestor][$lowerClassName] = $className; $this->children[$lowerAncestor][$lowerClassName] = $className;
} }
// If the class extends a core class, add class to roots
if (strpos($ancestor, 'SilverStripe\\Control') === 0) {
$this->roots[$lowerAncestor] = $ancestor;
}
} else { } else {
$this->roots[$lowerClassName] = $className; $this->roots[$lowerClassName] = $className;
} }

View File

@ -87,6 +87,14 @@ class ClassInfoTest extends SapphireTest
$subclassesWithoutBase, $subclassesWithoutBase,
ClassInfo::subclassesFor('silverstripe\\core\\tests\\classinfotest\\baseclass', false) ClassInfo::subclassesFor('silverstripe\\core\\tests\\classinfotest\\baseclass', false)
); );
// Check that core classes are present (eg: Email subclasses)
$emailClasses = ClassInfo::subclassesFor(\SilverStripe\Control\Email\Email::class);
$this->assertArrayHasKey(
'silverstripe\\control\\tests\\email\\emailtest\\emailsubclass',
$emailClasses,
'It contains : ' . json_encode($emailClasses)
);
} }
public function testClassName() public function testClassName()