Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
composer.lock
/vendor/
/phpcov/
/phpdoc/
1 change: 1 addition & 0 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@
"scripts": {
"cs": "php-cs-fixer fix",
"phpdoc": "phpdoc -d src -i src/autoload.php -t phpdoc",
"phpcov": "phpunit --coverage-html phpcov",
"test": "phpunit"
}
}
4 changes: 1 addition & 3 deletions res/phpab/fedora.php.tpl
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
<?php

if (!class_exists('Fedora\\Autoloader\\Autoload', false)) {
require_once ___AUTOLOAD_PATH___.'/autoload.php';
}
require_once ___AUTOLOAD_PATH___ . '/autoload.php';

\Fedora\Autoloader\Autoload::addClassMap(
array(
Expand Down
4 changes: 2 additions & 2 deletions src/Autoload.php
Original file line number Diff line number Diff line change
Expand Up @@ -209,7 +209,7 @@ public static function getClassMap()
*/
public static function loadClass($class)
{
if ($file = static::findFile($class)) {
if ($file = static::findFileForClass($class)) {
includeFile($file);
}
}
Expand All @@ -219,7 +219,7 @@ public static function loadClass($class)
*
* Checks for a classmap and then loops through PSR-4 mappings.
*/
public static function findFile($class)
public static function findFileForClass($class)
{
$class = ltrim($class, '\\');
$lower = strtolower($class);
Expand Down
6 changes: 4 additions & 2 deletions src/autoload.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,9 @@
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
require_once __DIR__.'/Autoload.php';
require_once __DIR__.'/functions.php';
if (!class_exists('Fedora\\Autoloader\\Autoload', false)) {
require_once __DIR__.'/Autoload.php';
require_once __DIR__.'/functions.php';
}

\Fedora\Autoloader\Autoload::addPsr4('Fedora\\Autoloader\\', __DIR__);
6 changes: 5 additions & 1 deletion src/functions.php
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,11 @@
*/
function requireFile($file)
{
require_once $file;
if (is_file($file) && is_readable($file)) {
require_once $file;
} else {
throw new \RuntimeException("File not found '$file'");
}
}

/**
Expand Down
14 changes: 2 additions & 12 deletions tests/AutoloadTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ class AutoloadTest extends \PHPUnit_Framework_TestCase
{
/**
* @group psr4
* @covers Fedora::Autoloader::Autoload::addPsr4
**/
public function testAddPsr4()
{
Expand All @@ -26,7 +25,6 @@ public function testAddPsr4()

/**
* @group psr4
* @covers Fedora::Autoloader::Autoload::addPsr4
**/
public function testAddPsr4Order()
{
Expand All @@ -40,7 +38,6 @@ public function testAddPsr4Order()

/**
* @group classmap
* @covers Fedora::Autoloader::Autoload::addClassMap
**/
public function testAddClassMap()
{
Expand All @@ -56,7 +53,6 @@ public function testAddClassMap()

/**
* @group classmap
* @covers Fedora::Autoloader::Autoload::addClassMap
**/
public function testAddClassMapTemplate()
{
Expand All @@ -67,7 +63,6 @@ public function testAddClassMapTemplate()

/**
* @group classmap
* @covers Fedora::Autoloader::Autoload::addClassMap
**/
public function testAddClassMapLowerCase()
{
Expand All @@ -78,7 +73,6 @@ public function testAddClassMapLowerCase()

/**
* @group classmap
* @covers Fedora::Autoloader::Autoload::addClassMap
**/
public function testAddClassMapTemplateOrder()
{
Expand All @@ -92,10 +86,10 @@ public function testAddClassMapTemplateOrder()

/**
* @group classmap
* @covers Fedora::Autoloader::Autoload::addClassMap
**/
public function testAddClassMapTemplateOrderBis()
{
$nb = count(Autoload::getClassMap());
$this->assertFalse(class_exists('Foo\\Bar'));
require __DIR__.'/fixtures/Foo2/classmap2.php';
require __DIR__.'/fixtures/Foo/classmap.php';
Expand All @@ -105,14 +99,13 @@ public function testAddClassMapTemplateOrderBis()
$this->assertEquals('three', \Foo\Bar::order);

$classmap = Autoload::getClassMap();
$this->assertEquals(2, count($classmap));
$this->assertEquals($nb + 2, count($classmap));
$this->assertArrayHasKey(__DIR__.'/fixtures/Foo', $classmap);
$this->assertArrayHasKey(__DIR__.'/fixtures/Foo2', $classmap);
}

/**
* @group psr0
* @covers Fedora::Autoloader::Autoload::addIncludePath
**/
public function testAddIncludePath()
{
Expand All @@ -138,7 +131,6 @@ public function testAddIncludePath()

/**
* @group psr0
* @covers Fedora::Autoloader::Autoload::addPsr0
**/
public function testAddPsr0Simple()
{
Expand All @@ -157,7 +149,6 @@ public function testAddPsr0Simple()

/**
* @group psr0
* @covers Fedora::Autoloader::Autoload::addPsr0
**/
public function testAddPsr0ns1()
{
Expand All @@ -170,7 +161,6 @@ public function testAddPsr0ns1()

/**
* @group psr0
* @covers Fedora::Autoloader::Autoload::addPsr0
**/
public function testAddPsr0ns2()
{
Expand Down
20 changes: 18 additions & 2 deletions tests/DependenciesTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,26 @@ public function testRequiredExists()
$this->assertTrue(class_exists('Foo\\Bar\\Baz'));
}

/**
* @expectedException RuntimeException
* @expectedExceptionMessageRegex /File Not Found.*AlsoNotExist/
**/
public function testRequiredNotExistsLast()
{
Dependencies::required(array(
array(
__DIR__.'/fixtures/DoesNotExist.php',
__DIR__.'/fixtures/AlsoNotExist.php',
), ));
}

/**
* @expectedException RuntimeException
* @expectedExceptionMessageRegex /File Not Found.*DoesNotExist/
**/
public function testRequiredNotExists()
{
$this->markTestSkipped('Skipping until we can get this test to pass');
//Dependencies::required(array(__DIR__.'/fixtures/DoesNotExist.php'));
Dependencies::required(array(__DIR__.'/fixtures/DoesNotExist.php'));
}

public function testRequiredFirstExists()
Expand Down
4 changes: 1 addition & 3 deletions tests/fixtures/Foo/classmap.php
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
<?php

if (!class_exists('Fedora\\Autoloader\\Autoload', false)) {
require_once __DIR__.'/../../../src'.'/autoload.php';
}
require_once __DIR__.'/../../../src' . '/autoload.php';

\Fedora\Autoloader\Autoload::addClassMap(
array(
Expand Down
4 changes: 1 addition & 3 deletions tests/fixtures/Foo2/classmap.php
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
<?php

if (!class_exists('Fedora\\Autoloader\\Autoload', false)) {
require_once __DIR__.'/../../../src'.'/autoload.php';
}
require_once __DIR__.'/../../../src' . '/autoload.php';

\Fedora\Autoloader\Autoload::addClassMap(
array(
Expand Down
4 changes: 1 addition & 3 deletions tests/fixtures/Foo2/classmap2.php
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
<?php

if (!class_exists('Fedora\\Autoloader\\Autoload', false)) {
require_once __DIR__.'/../../../src'.'/autoload.php';
}
require_once __DIR__.'/../../../src' . '/autoload.php';

\Fedora\Autoloader\Autoload::addClassMap(
array(
Expand Down