From 0bb5eadf8984fbb21e9f573da9a37e4a75e83a68 Mon Sep 17 00:00:00 2001 From: Roeland Jago Douma Date: Fri, 6 Nov 2015 13:36:19 +0100 Subject: [autoloader] Make sure to load construct full paths This reduces a lot of the autoloader magic and makes sure that we generate full paths in the autoloader. --- tests/lib/autoloader.php | 53 ++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 45 insertions(+), 8 deletions(-) (limited to 'tests') diff --git a/tests/lib/autoloader.php b/tests/lib/autoloader.php index 6d9d3bd8eba..fa10c0b6216 100644 --- a/tests/lib/autoloader.php +++ b/tests/lib/autoloader.php @@ -20,41 +20,78 @@ class AutoLoader extends TestCase { } public function testLeadingSlashOnClassName() { - $this->assertEquals(array('private/files/storage/local.php', 'files/storage/local.php'), $this->loader->findClass('\OC\Files\Storage\Local')); + $this->assertEquals([ + \OC::$SERVERROOT . '/lib/private/files/storage/local.php', + ], $this->loader->findClass('\OC\Files\Storage\Local')); } public function testNoLeadingSlashOnClassName() { - $this->assertEquals(array('private/files/storage/local.php', 'files/storage/local.php'), $this->loader->findClass('OC\Files\Storage\Local')); + $this->assertEquals([ + \OC::$SERVERROOT . '/lib/private/files/storage/local.php', + ], $this->loader->findClass('OC\Files\Storage\Local')); } public function testLegacyPath() { - $this->assertEquals(array('private/legacy/files.php', 'private/files.php'), $this->loader->findClass('OC_Files')); + $this->assertEquals([ + \OC::$SERVERROOT . '/lib/private/legacy/files.php', + \OC::$SERVERROOT . '/lib/private/files.php', + ], $this->loader->findClass('OC_Files')); } public function testLoadTestNamespace() { - $this->assertEquals(array('tests/lib/foo/bar.php'), $this->loader->findClass('Test\Foo\Bar')); + $this->assertEquals([ + \OC::$SERVERROOT . '/tests/lib/foo/bar.php' + ], $this->loader->findClass('Test\Foo\Bar')); } public function testLoadTest() { - $this->assertEquals(array('tests/lib/foo/bar.php'), $this->loader->findClass('Test_Foo_Bar')); + $this->assertEquals([ + \OC::$SERVERROOT . '/tests/lib/foo/bar.php' + ], $this->loader->findClass('Test_Foo_Bar')); } public function testLoadCoreNamespace() { - $this->assertEquals(array('private/foo/bar.php', 'foo/bar.php'), $this->loader->findClass('OC\Foo\Bar')); + $this->assertEquals([ + \OC::$SERVERROOT . '/lib/private/foo/bar.php', + ], $this->loader->findClass('OC\Foo\Bar')); } public function testLoadCore() { - $this->assertEquals(array('private/legacy/foo/bar.php', 'private/foo/bar.php'), $this->loader->findClass('OC_Foo_Bar')); + $this->assertEquals([ + \OC::$SERVERROOT . '/lib/private/legacy/foo/bar.php', + \OC::$SERVERROOT . '/lib/private/foo/bar.php', + ], $this->loader->findClass('OC_Foo_Bar')); } public function testLoadPublicNamespace() { - $this->assertEquals(array('public/foo/bar.php'), $this->loader->findClass('OCP\Foo\Bar')); + $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'); + print_r($result); $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([ + \OC::$SERVERROOT . '/core/foo/bar.php', + ], $this->loader->findClass('OC\Core\Foo\Bar')); + } + + public function testLoadCoreNamespaceSettings() { + $this->assertEquals([ + \OC::$SERVERROOT . '/settings/foo/bar.php', + ], $this->loader->findClass('OC\Settings\Foo\Bar')); + } + + public function testLoadCoreNamespaceRepair() { + $this->assertEquals([ + \OC::$SERVERROOT . '/lib/repair/foo/bar.php', + ], $this->loader->findClass('OC\Repair\Foo\Bar')); + } } -- cgit v1.2.3