Rajout de doctrine/orm
[zf2.biz/galerie.git] / vendor / doctrine / common / tests / Doctrine / Tests / Common / ClassLoaderTest.php
1 <?php
2
3 namespace Doctrine\Tests\Common;
4
5 use Doctrine\Common\ClassLoader;
6
7 class ClassLoaderTest extends \Doctrine\Tests\DoctrineTestCase
8 {
9     public function testClassLoader()
10     {
11         $classLoader = new ClassLoader('ClassLoaderTest');
12         $classLoader->setIncludePath(__DIR__);
13         $classLoader->setFileExtension('.class.php');
14         $classLoader->setNamespaceSeparator('_');
15
16         $this->assertTrue($classLoader->canLoadClass('ClassLoaderTest_ClassA'));
17         $this->assertTrue($classLoader->canLoadClass('ClassLoaderTest_ClassB'));
18         $this->assertTrue($classLoader->canLoadClass('ClassLoaderTest_ClassC'));
19         $this->assertFalse($classLoader->canLoadClass('OtherClass'));
20         $this->assertEquals($classLoader->loadClass('ClassLoaderTest_ClassA'), true);
21         $this->assertEquals($classLoader->loadClass('ClassLoaderTest_ClassB'), true);
22         $this->assertEquals($classLoader->loadClass('ClassLoaderTest_ClassC'), true);
23     }
24
25     public function testClassExists()
26     {
27         $this->assertFalse(ClassLoader::classExists('ClassLoaderTest\ClassD'));
28         $badLoader = function($className) {
29             require __DIR__ . '/ClassLoaderTest/ClassD.php';
30             return true;
31         };
32         spl_autoload_register($badLoader);
33         $this->assertTrue(ClassLoader::classExists('ClassLoaderTest\ClassD'));
34         spl_autoload_unregister($badLoader);
35     }
36
37     public function testGetClassLoader()
38     {
39         $cl = new ClassLoader('ClassLoaderTest', __DIR__);
40         $cl->register();
41         $this->assertTrue(ClassLoader::getClassLoader('ClassLoaderTest\ClassD') instanceof \Doctrine\Common\ClassLoader);
42         $this->assertNull(ClassLoader::getClassLoader('This\Class\Does\Not\Exist'));
43         $cl->unregister();
44     }
45 }