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;
}
// If the class extends a core class, add class to roots
if (strpos($ancestor, 'SilverStripe\\Control') === 0) {
$this->roots[$lowerAncestor] = $ancestor;
}
} else {
$this->roots[$lowerClassName] = $className;
}

View File

@ -87,6 +87,14 @@ class ClassInfoTest extends SapphireTest
$subclassesWithoutBase,
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()