diff --git a/autoload.php b/autoload.php index c034dd0..7cbce55 100644 --- a/autoload.php +++ b/autoload.php @@ -9,11 +9,17 @@ * file that was distributed with this source code. */ -spl_autoload_register(function($class) -{ - $file = __DIR__.'/src/'.strtr($class, '\\', '/').'.php'; +spl_autoload_register(function($class) { + $base = '/src/'; + + if (strpos($class, 'Fetch\Test') === 0) { + $base = '/tests/'; + } + + $file = __DIR__.$base.strtr($class, '\\', '/').'.php'; if (file_exists($file)) { require $file; + return true; } -}); +}); \ No newline at end of file diff --git a/tests/bootstrap.php b/tests/bootstrap.php index 9bcf619..418e2e4 100644 --- a/tests/bootstrap.php +++ b/tests/bootstrap.php @@ -13,18 +13,17 @@ define('TESTING', true); error_reporting(-1); -spl_autoload_register(function($class) { - if (0 === strpos($class, 'Fetch\\Test\\')) { - $file = __DIR__ . '/../tests/' . str_replace('\\', '/', $class) . '.php'; - if (file_exists($file)) { - require_once $file; - return true; - } - } elseif (0 === strpos($class, 'Fetch\\')) { - $file = __DIR__ . '/../src/' . str_replace('\\', '/', $class) . '.php'; - if (file_exists($file)) { - require_once $file; - return true; - } - } -}); +$filename = __DIR__ .'/../vendor/autoload.php'; + +if (!file_exists($filename)) { + echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" . PHP_EOL; + echo " You need to execute `composer install` before running the tests. " . PHP_EOL; + echo " Vendors are required for complete test execution. " . PHP_EOL; + echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" . PHP_EOL . PHP_EOL; + $filename = __DIR__ .'/../autoload.php'; + require_once $filename; +}else{ + $loader = require_once $filename; + $loader->add('Fetch\\Test', __DIR__); +} +