ClassFinderTest.php in X Autoload 7.3
File
tests/Drupal/xautoload/Tests/ClassFinderTest.php
View source
<?php
namespace Drupal\xautoload\Tests;
class ClassFinderTest extends \PHPUnit_Framework_TestCase implements PublicAssertInterface {
function setUp() {
parent::setUp();
}
function testNamespaces() {
$finder = new \xautoload_ClassFinder_NamespaceOrPrefix();
$finder
->registerNamespaceDeep('Drupal\\ex_ample', 'sites/all/modules/contrib/ex_ample/lib');
$finder
->registerNamespaceRoot('Drupal\\ex_ample', 'sites/all/modules/contrib/ex_ample/vendor');
$this
->assertFinderSuggestions($finder, 'Drupal\\ex_ample\\Abc_Def', array(
'sites/all/modules/contrib/ex_ample/lib/Abc/Def.php',
'sites/all/modules/contrib/ex_ample/vendor/Drupal/ex_ample/Abc/Def.php',
));
}
function testPrefixes() {
$finder = new \xautoload_ClassFinder_NamespaceOrPrefix();
$finder
->registerPrefixDeep('ex_ample', 'sites/all/modules/contrib/ex_ample/lib');
$finder
->registerPrefixRoot('ex_ample', 'sites/all/modules/contrib/ex_ample/vendor');
$this
->assertFinderSuggestions($finder, 'ex_ample_Abc_Def', array(
'sites/all/modules/contrib/ex_ample/lib/Abc/Def.php',
'sites/all/modules/contrib/ex_ample/vendor/ex/ample/Abc/Def.php',
));
}
protected function assertFinderSuggestions($finder, $class, array $expectedSuggestions) {
for ($iAccept = 0; $iAccept < count($expectedSuggestions); ++$iAccept) {
$api = new \xautoload_Mock_InjectedAPI_findFile($this, $class, $expectedSuggestions, $iAccept);
$finder
->findFile($api, $class);
$api
->finish();
}
$api = new \xautoload_Mock_InjectedAPI_findFile($this, $class, $expectedSuggestions);
$finder
->findFile($api, $class);
$api
->finish();
$this
->assertTrue(TRUE, "Successfully loaded {$class}");
}
function assertPublic($status, $message) {
$this
->assertTrue($status, $message);
return $status;
}
}