diff options
author | Robin Appelman <icewind@owncloud.com> | 2013-05-07 23:08:36 +0200 |
---|---|---|
committer | Robin Appelman <icewind@owncloud.com> | 2013-05-07 23:08:36 +0200 |
commit | e21a3a1a2324684f2e34bce024082d7d1d244b6a (patch) | |
tree | 9927dfb0332614a59229dc7e9232929586f12fa6 /tests/lib/autoloader.php | |
parent | 2a01d3994080756316017e34b8c46c773332283f (diff) | |
download | nextcloud-server-e21a3a1a2324684f2e34bce024082d7d1d244b6a.tar.gz nextcloud-server-e21a3a1a2324684f2e34bce024082d7d1d244b6a.zip |
Autoloader: test cases
Diffstat (limited to 'tests/lib/autoloader.php')
-rw-r--r-- | tests/lib/autoloader.php | 58 |
1 files changed, 53 insertions, 5 deletions
diff --git a/tests/lib/autoloader.php b/tests/lib/autoloader.php index e769bf3bcf6..d9fc016adf5 100644 --- a/tests/lib/autoloader.php +++ b/tests/lib/autoloader.php @@ -6,14 +6,62 @@ * See the COPYING-README file. */ -class Test_AutoLoader extends PHPUnit_Framework_TestCase { +namespace Test; - public function testLeadingSlashOnClassName(){ - $this->assertTrue(class_exists('\OC\Files\Storage\Local')); +class AutoLoader extends \PHPUnit_Framework_TestCase { + /** + * @var \OC\Autoloader $loader + */ + private $loader; + + public function setUp() { + $this->loader = new \OC\AutoLoader(); + } + + public function testLeadingSlashOnClassName() { + $this->assertEquals(array('files/storage/local.php'), $this->loader->findClass('\OC\Files\Storage\Local')); + } + + public function testNoLeadingSlashOnClassName() { + $this->assertEquals(array('files/storage/local.php'), $this->loader->findClass('OC\Files\Storage\Local')); + } + + public function testLegacyPath() { + $this->assertEquals(array('legacy/files.php', 'files.php'), $this->loader->findClass('OC_Files')); + } + + public function testClassPath() { + $this->loader->registerClass('Foo\Bar', 'foobar.php'); + $this->assertEquals(array('foobar.php'), $this->loader->findClass('Foo\Bar')); + } + + public function testPrefixNamespace() { + $this->loader->registerPrefix('Foo', 'foo'); + $this->assertEquals(array('foo/Foo/Bar.php'), $this->loader->findClass('Foo\Bar')); + } + + public function testPrefix() { + $this->loader->registerPrefix('Foo_', 'foo'); + $this->assertEquals(array('foo/Foo/Bar.php'), $this->loader->findClass('Foo_Bar')); + } + + public function loadTestNamespace() { + $this->assertEquals(array('test/foo/bar.php'), $this->loader->findClass('Test\Foo\Bar')); } - public function testNoLeadingSlashOnClassName(){ - $this->assertTrue(class_exists('OC\Files\Storage\Local')); + public function loadTest() { + $this->assertEquals(array('test/foo/bar.php'), $this->loader->findClass('Test_Foo_Bar')); } + public function loadCoreNamespace() { + $this->assertEquals(array('lib/foo/bar.php'), $this->loader->findClass('OC\Foo\Bar')); + } + + public function loadCore() { + $this->assertEquals(array('lib/legacy/foo/bar.php', 'lib/foo/bar.php'), $this->loader->findClass('OC_Foo_Bar')); + } + + public function loadPublicNamespace() { + $this->assertEquals(array('lib/public/foo/bar.php'), $this->loader->findClass('OCP\Foo\Bar')); + } } |