Skip to content

Commit

Permalink
- Merge [4839].
Browse files Browse the repository at this point in the history
  • Loading branch information
sebastianbergmann committed Apr 28, 2009
1 parent fe0d8e9 commit fc3e35a
Show file tree
Hide file tree
Showing 4 changed files with 39 additions and 11 deletions.
5 changes: 4 additions & 1 deletion PHPUnit/Runner/StandardTestSuiteLoader.php
Expand Up @@ -48,6 +48,7 @@
require_once 'PHPUnit/Runner/TestSuiteLoader.php';
require_once 'PHPUnit/Util/Class.php';
require_once 'PHPUnit/Util/Fileloader.php';
require_once 'PHPUnit/Util/Filesystem.php';

PHPUnit_Util_Filter::addFileToFilter(__FILE__, 'PHPUNIT');

Expand Down Expand Up @@ -77,7 +78,9 @@ public function load($suiteClassName, $suiteClassFile = '', $syntaxCheck = TRUE)
$suiteClassName = str_replace('.php', '', $suiteClassName);

if (empty($suiteClassFile)) {
$suiteClassFile = str_replace(array('_', '\\'), DIRECTORY_SEPARATOR, $suiteClassName) . '.php';
$suiteClassFile = PHPUnit_Util_Filesystem::classNameToFilename(
$suiteClassName
);
}

if (!class_exists($suiteClassName, FALSE)) {
Expand Down
5 changes: 4 additions & 1 deletion PHPUnit/TextUI/Command.php
Expand Up @@ -47,6 +47,7 @@
require_once 'PHPUnit/TextUI/TestRunner.php';
require_once 'PHPUnit/Util/Configuration.php';
require_once 'PHPUnit/Util/Fileloader.php';
require_once 'PHPUnit/Util/Filesystem.php';
require_once 'PHPUnit/Util/Filter.php';
require_once 'PHPUnit/Util/Getopt.php';

Expand Down Expand Up @@ -737,7 +738,9 @@ protected static function handleLoader($loaderClass, $loaderFile = '')
{
if (!class_exists($loaderClass, FALSE)) {
if ($loaderFile == '') {
$loaderFile = str_replace('_', '/', $loaderClass) . '.php';
$loaderFile = PHPUnit_Util_Filesystem::classNameToFilename(
$loaderClass
);
}

$loaderFile = PHPUnit_Util_Filesystem::fileExistsInIncludePath(
Expand Down
18 changes: 18 additions & 0 deletions PHPUnit/Util/Filesystem.php
Expand Up @@ -73,6 +73,24 @@ class PHPUnit_Util_Filesystem
*/
protected static $hasBinary = array();

/**
* Maps class names to source file names:
* - PEAR CS: Foo_Bar_Baz -> Foo/Bar/Baz.php
* - Namespace: Foo\Bar\Baz -> Foo/Bar/Baz.php
*
* @param string $className
* @return string
* @since Method available since Release 3.4.0
*/
public static function classNameToFilename($className)
{
return str_replace(
array('_', '\\'),
DIRECTORY_SEPARATOR,
$className
) . '.php';
}

/**
* Starts the collection of loaded files.
*
Expand Down
22 changes: 13 additions & 9 deletions PHPUnit/Util/Skeleton/Test.php
Expand Up @@ -44,9 +44,10 @@
* @since File available since Release 3.3.0
*/

require_once 'PHPUnit/Util/Filesystem.php';
require_once 'PHPUnit/Util/Filter.php';
require_once 'PHPUnit/Util/Template.php';
require_once 'PHPUnit/Util/Skeleton.php';
require_once 'PHPUnit/Util/Template.php';

PHPUnit_Util_Filter::addFileToFilter(__FILE__, 'PHPUNIT');

Expand Down Expand Up @@ -91,21 +92,24 @@ public function __construct($inClassName, $inSourceFile = '', $outClassName = ''
unset($reflector);
} else {
if (empty($inSourceFile)) {
if (is_file($inClassName . '.php')) {
$inSourceFile = $inClassName . '.php';
}
$possibleFilenames = array(
$inClassName . '.php',
PHPUnit_Util_Filesystem::classNameToFilename($inClassName)
);

else if (is_file(str_replace('_', '/', $inClassName) . '.php')) {
$inSourceFile = str_replace('_', '/', $inClassName) . '.php';
foreach ($possibleFilenames as $possibleFilename) {
if (is_file($possibleFilename)) {
$inSourceFile = $possibleFilename;
}
}
}

if (empty($inSourceFile)) {
throw new RuntimeException(
sprintf(
'Neither "%s.php" nor "%s.php" could be opened.',
$inClassName,
str_replace('_', '/', $inClassName)
'Neither "%s" nor "%s" could be opened.',
$possibleFilenames[0],
$possibleFilenames[1]
)
);
}
Expand Down

0 comments on commit fc3e35a

Please sign in to comment.