private function getClassName($filename, $previousDeclaredClasses)
{
$filename = realpath($filename);
$classes = get_declared_classes();
$newClasses = array_values(array_diff($classes, $previousDeclaredClasses));
foreach ($newClasses as $className) {
$class = new \ReflectionClass($className);
if ($class->getFileName() == $filename) {
if ($this->classNameMatchesFileName($filename, $className)) {
return $className;
}
}
}
// Test class was loaded before somehow (referenced from other test class, or explicitly loaded)
foreach ($classes as $className) {
$class = new \ReflectionClass($className);
if ($class->getFileName() == $filename) {
return $className;
}
}
}