diff options
Diffstat (limited to 'tests/lib/AutoLoaderTest.php')
-rw-r--r-- | tests/lib/AutoLoaderTest.php | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/tests/lib/AutoLoaderTest.php b/tests/lib/AutoLoaderTest.php new file mode 100644 index 00000000000..a97ba3f768e --- /dev/null +++ b/tests/lib/AutoLoaderTest.php @@ -0,0 +1,72 @@ +<?php +/** + * Copyright (c) 2013 Thomas Müller <thomas.mueller@tmit.eu> + * This file is licensed under the Affero General Public License version 3 or + * later. + * See the COPYING-README file. + */ + +namespace Test; + +class AutoLoaderTest extends TestCase { + /** + * @var \OC\Autoloader $loader + */ + private $loader; + + protected function setUp() { + parent::setUp(); + $this->loader = new \OC\AutoLoader([]); + } + + public function testLeadingSlashOnClassName() { + $this->assertEquals([ + \OC::$SERVERROOT . '/lib/public/files/storage/local.php', + ], $this->loader->findClass('\OCP\Files\Storage\Local')); + } + + public function testNoLeadingSlashOnClassName() { + $this->assertEquals([ + \OC::$SERVERROOT . '/lib/public/files/storage/local.php', + ], $this->loader->findClass('OCP\Files\Storage\Local')); + } + + public function testLegacyPath() { + $this->assertEquals([ + \OC::$SERVERROOT . '/lib/private/legacy/files.php', + ], $this->loader->findClass('OC_Files')); + } + + public function testLoadTestTestCase() { + $this->assertEquals([ + \OC::$SERVERROOT . '/tests/lib/TestCase.php' + ], $this->loader->findClass('Test\TestCase')); + } + + public function testLoadCore() { + $this->assertEquals([ + \OC::$SERVERROOT . '/lib/private/legacy/foo/bar.php', + ], $this->loader->findClass('OC_Foo_Bar')); + } + + public function testLoadPublicNamespace() { + $this->assertEquals([ + \OC::$SERVERROOT . '/lib/public/foo/bar.php', + ], $this->loader->findClass('OCP\Foo\Bar')); + } + + public function testLoadAppNamespace() { + $result = $this->loader->findClass('OCA\Files\Foobar'); + $this->assertEquals(2, count($result)); + $this->assertStringEndsWith('apps/files/foobar.php', $result[0]); + $this->assertStringEndsWith('apps/files/lib/foobar.php', $result[1]); + } + + public function testLoadCoreNamespaceCore() { + $this->assertEquals([], $this->loader->findClass('OC\Core\Foo\Bar')); + } + + public function testLoadCoreNamespaceSettings() { + $this->assertEquals([], $this->loader->findClass('OC\Settings\Foo\Bar')); + } +} |