classNameToFilename() public static méthode

Maps class names to source file names: - PEAR CS: Foo_Bar_Baz -> Foo/Bar/Baz.php - Namespace: Foo\Bar\Baz -> Foo/Bar/Baz.php
public static classNameToFilename ( string $className ) : string
$className string
Résultat string
 /**
  * @param  string  $suiteClassName
  * @param  string  $suiteClassFile
  * @return ReflectionClass
  * @throws PHPUnit_Framework_Exception
  */
 public function load($suiteClassName, $suiteClassFile = '')
 {
     $suiteClassName = str_replace('.php', '', $suiteClassName);
     if (empty($suiteClassFile)) {
         $suiteClassFile = PHPUnit_Util_Filesystem::classNameToFilename($suiteClassName);
     }
     Core_FileReader::addFile($suiteClassFile);
 }
 /**
  * @param  string  $suiteClassName
  * @param  string  $suiteClassFile
  * @return ReflectionClass
  * @throws RuntimeException
  */
 public function load($suiteClassName, $suiteClassFile = '')
 {
     $suiteClassName = str_replace('.php', '', $suiteClassName);
     if (empty($suiteClassFile)) {
         $suiteClassFile = PHPUnit_Util_Filesystem::classNameToFilename($suiteClassName);
     }
     if (!class_exists($suiteClassName, FALSE)) {
         PHPUnit_Util_Class::collectStart();
         $filename = PHPUnit_Util_Fileloader::checkAndLoad($suiteClassFile);
         $loadedClasses = PHPUnit_Util_Class::collectEnd();
     }
     if (!class_exists($suiteClassName, FALSE) && !empty($loadedClasses)) {
         $offset = 0 - strlen($suiteClassName);
         foreach ($loadedClasses as $loadedClass) {
             $class = new ReflectionClass($loadedClass);
             if (substr($loadedClass, $offset) === $suiteClassName && $class->getFileName() == $filename) {
                 $suiteClassName = $loadedClass;
                 break;
             }
         }
     }
     if (!class_exists($suiteClassName, FALSE) && !empty($loadedClasses)) {
         $testCaseClass = 'PHPUnit_Framework_TestCase';
         foreach ($loadedClasses as $loadedClass) {
             $class = new ReflectionClass($loadedClass);
             $classFile = $class->getFileName();
             if ($class->isSubclassOf($testCaseClass) && !$class->isAbstract()) {
                 $suiteClassName = $loadedClass;
                 $testCaseClass = $loadedClass;
                 if ($classFile == realpath($suiteClassFile)) {
                     break;
                 }
             }
             if ($class->hasMethod('suite')) {
                 $method = $class->getMethod('suite');
                 if (!$method->isAbstract() && $method->isPublic() && $method->isStatic()) {
                     $suiteClassName = $loadedClass;
                     if ($classFile == realpath($suiteClassFile)) {
                         break;
                     }
                 }
             }
         }
     }
     if (class_exists($suiteClassName, FALSE)) {
         $class = new ReflectionClass($suiteClassName);
         $filePath = $GLOBALS['base_dir'] . DIRECTORY_SEPARATOR . 'tests' . DIRECTORY_SEPARATOR . 'phpunit' . DIRECTORY_SEPARATOR . $suiteClassFile;
         if ($class->getFileName() == realpath($filePath)) {
             return $class;
         }
     }
     throw new PHPUnit_Framework_Exception(sprintf('Class %s could not be found in %s.', $suiteClassName, $suiteClassFile));
 }
 /**
  *
  * @param string $suiteClassName        	
  * @param string $suiteClassFile        	
  *
  * @return ReflectionClass
  *
  * @throws PHPUnit_Framework_Exception
  */
 public function load($suiteClassName, $suiteClassFile = '')
 {
     $suiteClassName = str_replace('.php', '', $suiteClassName);
     if (empty($suiteClassFile)) {
         $suiteClassFile = PHPUnit_Util_Filesystem::classNameToFilename($suiteClassName);
     }
     if (!class_exists($suiteClassName, false)) {
         $loadedClasses = get_declared_classes();
         $filename = PHPUnit_Util_Fileloader::checkAndLoad($suiteClassFile);
         $loadedClasses = array_values(array_diff(get_declared_classes(), $loadedClasses));
     }
     if (!class_exists($suiteClassName, false) && !empty($loadedClasses)) {
         $offset = 0 - strlen($suiteClassName);
         foreach ($loadedClasses as $loadedClass) {
             $class = new ReflectionClass($loadedClass);
             if (substr($loadedClass, $offset) === $suiteClassName && $class->getFileName() == $filename) {
                 $suiteClassName = $loadedClass;
                 break;
             }
         }
     }
     if (!class_exists($suiteClassName, false) && !empty($loadedClasses)) {
         $testCaseClass = 'PHPUnit_Framework_TestCase';
         foreach ($loadedClasses as $loadedClass) {
             $class = new ReflectionClass($loadedClass);
             $classFile = $class->getFileName();
             if ($class->isSubclassOf($testCaseClass) && !$class->isAbstract()) {
                 $suiteClassName = $loadedClass;
                 $testCaseClass = $loadedClass;
                 if ($classFile == realpath($suiteClassFile)) {
                     break;
                 }
             }
             if ($class->hasMethod('suite')) {
                 $method = $class->getMethod('suite');
                 if (!$method->isAbstract() && $method->isPublic() && $method->isStatic()) {
                     $suiteClassName = $loadedClass;
                     if ($classFile == realpath($suiteClassFile)) {
                         break;
                     }
                 }
             }
         }
     }
     if (class_exists($suiteClassName, false)) {
         $class = new ReflectionClass($suiteClassName);
         if ($class->getFileName() == realpath($suiteClassFile)) {
             return $class;
         }
     }
     throw new PHPUnit_Framework_Exception(sprintf("Class '%s' could not be found in '%s'.", $suiteClassName, $suiteClassFile));
 }
 /**
  * Constructor.
  *
  * @param string $inClassName
  * @param string $inSourceFile
  * @param string $outClassName
  * @param string $outSourceFile
  * @throws RuntimeException
  */
 public function __construct($inClassName, $inSourceFile = '', $outClassName = '', $outSourceFile = '')
 {
     if (class_exists($inClassName)) {
         $reflector = new ReflectionClass($inClassName);
         $inSourceFile = $reflector->getFileName();
         if ($inSourceFile === FALSE) {
             $inSourceFile = '<internal>';
         }
         unset($reflector);
     } else {
         if (empty($inSourceFile)) {
             $possibleFilenames = array($inClassName . '.php', PHPUnit_Util_Filesystem::classNameToFilename($inClassName));
             foreach ($possibleFilenames as $possibleFilename) {
                 if (is_file($possibleFilename)) {
                     $inSourceFile = $possibleFilename;
                 }
             }
         }
         if (empty($inSourceFile)) {
             throw new PHPUnit_Framework_Exception(sprintf('Neither "%s" nor "%s" could be opened.', $possibleFilenames[0], $possibleFilenames[1]));
         }
         if (!is_file($inSourceFile)) {
             throw new PHPUnit_Framework_Exception(sprintf('"%s" could not be opened.', $inSourceFile));
         }
         $inSourceFile = realpath($inSourceFile);
         include_once $inSourceFile;
         if (!class_exists($inClassName)) {
             throw new PHPUnit_Framework_Exception(sprintf('Could not find class "%s" in "%s".', $inClassName, $inSourceFile));
         }
     }
     if (empty($outClassName)) {
         $outClassName = $inClassName . 'Test';
     }
     if (empty($outSourceFile)) {
         $outSourceFile = dirname($inSourceFile) . DIRECTORY_SEPARATOR . $outClassName . '.php';
     }
     parent::__construct($inClassName, $inSourceFile, $outClassName, $outSourceFile);
 }
Exemple #5
0
 /**
  * Handles the loading of the PHPUnit_Runner_TestSuiteLoader implementation.
  *
  * @param  string  $loaderClass
  * @param  string  $loaderFile
  */
 protected function handleLoader($loaderClass, $loaderFile = '')
 {
     if (!class_exists($loaderClass, FALSE)) {
         if ($loaderFile == '') {
             $loaderFile = PHPUnit_Util_Filesystem::classNameToFilename($loaderClass);
         }
         $loaderFile = PHPUnit_Util_Filesystem::fileExistsInIncludePath($loaderFile);
         if ($loaderFile !== FALSE) {
             require $loaderFile;
         }
     }
     if (class_exists($loaderClass, FALSE)) {
         $class = new ReflectionClass($loaderClass);
         if ($class->implementsInterface('PHPUnit_Runner_TestSuiteLoader') && $class->isInstantiable()) {
             $loader = $class->newInstance();
         }
     }
     if (!isset($loader)) {
         PHPUnit_TextUI_TestRunner::showError(sprintf('Could not use "%s" as loader.', $loaderClass));
     }
     return $loader;
 }
Exemple #6
0
 /**
  * Handles the loading of the PHPUnit_Util_Printer implementation.
  *
  * @param  string $printerClass
  * @param  string $printerFile
  * @return PHPUnit_Util_Printer
  */
 protected function handlePrinter($printerClass, $printerFile = '')
 {
     if (!class_exists($printerClass, FALSE)) {
         if ($printerFile == '') {
             $printerFile = PHPUnit_Util_Filesystem::classNameToFilename($printerClass);
         }
         $printerFile = stream_resolve_include_path($printerFile);
         if ($printerFile) {
             require $printerFile;
         }
     }
     if (class_exists($printerClass, FALSE)) {
         $class = new ReflectionClass($printerClass);
         if ($class->implementsInterface('PHPUnit_Framework_TestListener') && $class->isSubclassOf('PHPUnit_Util_Printer') && $class->isInstantiable()) {
             $printer = $class->newInstance();
         }
     }
     if (!isset($printer)) {
         PHPUnit_TextUI_TestRunner::showError(sprintf('Could not use "%s" as printer.', $printerClass));
     }
     return $printer;
 }
Exemple #7
0
 /**
  * Handles the loading of the PHPUnit_Util_Printer implementation.
  *
  * @param string $printerClass
  * @param string $printerFile
  *
  * @return PHPUnit_Util_Printer
  */
 protected function handlePrinter($printerClass, $printerFile = '')
 {
     if (!class_exists($printerClass, false)) {
         if ($printerFile == '') {
             $printerFile = PHPUnit_Util_Filesystem::classNameToFilename($printerClass);
         }
         $printerFile = stream_resolve_include_path($printerFile);
         if ($printerFile) {
             require $printerFile;
         }
     }
     if (class_exists($printerClass)) {
         $class = new ReflectionClass($printerClass);
         if ($class->implementsInterface('PHPUnit_Framework_TestListener') && $class->isSubclassOf('PHPUnit_Util_Printer') && $class->isInstantiable()) {
             if ($class->isSubclassOf('PHPUnit_TextUI_ResultPrinter')) {
                 return $printerClass;
             }
             $outputStream = isset($this->arguments['stderr']) ? 'php://stderr' : null;
             return $class->newInstance($outputStream);
         }
     }
     $this->showError(sprintf('Could not use "%s" as printer.', $printerClass));
 }
 function phpunitAutoload($class)
 {
     require_once $this->phpUnitPath . '/PHPUnit/Util/Filesystem.php';
     if (strpos($class, 'PHPUnit_') === 0 || strpos($class, 'PHP_') === 0 || strpos($class, 'Text_') === 0 || strpos($class, 'File_') === 0 || strpos($class, 'Doctrine') === 0 || strpos($class, 'SebastianBergmann') === 0) {
         $file = \PHPUnit_Util_Filesystem::classNameToFilename($class);
         if (file_exists($this->phpUnitPath . '/' . $file)) {
             require_once $file;
         }
     }
 }