Browse Source

Create a Fallback in the old autoloader for PSR-4 Test\TestCase

tags/v9.1.0beta1
Joas Schilling 8 years ago
parent
commit
f8180391fd
No account linked to committer's email address
3 changed files with 10 additions and 0 deletions
  1. 4
    0
      lib/autoloader.php
  2. 0
    0
      tests/lib/TestCase.php
  3. 6
    0
      tests/lib/autoloader.php

+ 4
- 0
lib/autoloader.php View File

@@ -113,6 +113,10 @@ class Autoloader {
// If not found in the root of the app directory, insert '/lib' after app id and try again.
$paths[] = $appPath . '/lib/' . strtolower(str_replace('\\', '/', $rest) . '.php');
}
} elseif ($class === 'Test\\TestCase') {
// This File is considered public API, so we make sure that the class
// can still be loaded, although the PSR-4 paths have not been loaded.
$paths[] = \OC::$SERVERROOT . '/tests/lib/TestCase.php';
} elseif (strpos($class, 'Test\\') === 0) {
$paths[] = \OC::$SERVERROOT . '/tests/lib/' . strtolower(str_replace('\\', '/', substr($class, 5)) . '.php');
}

tests/lib/testcase.php → tests/lib/TestCase.php View File


+ 6
- 0
tests/lib/autoloader.php View File

@@ -37,6 +37,12 @@ class AutoLoader extends TestCase {
], $this->loader->findClass('OC_Files'));
}

public function testLoadTestTestCase() {
$this->assertEquals([
\OC::$SERVERROOT . '/tests/lib/TestCase.php'
], $this->loader->findClass('Test\TestCase'));
}

public function testLoadTestNamespace() {
$this->assertEquals([
\OC::$SERVERROOT . '/tests/lib/foo/bar.php'

Loading…
Cancel
Save