This repository has been archived on 2023-08-20. You can view files and clone it, but cannot push or open issues or pull requests.
symfony/tests/Symfony/Tests/Component/HttpFoundation
Justin Hileman 0ccc9805f5 Fix UniversalClassLoader issues with leading slashes.
This fixes a bug in UniversalClassLoader when attempting to autoload class names with leading slashes:

    $namespacedClass = "\\Foo\\Bar";
    $pearlikeClass   = "\\Foo_Bar";

    $namespaced = new $namespacedClass();
    $pearlike   = new $pearlikeClass();

`UniversalClassLoader::loadClass()` was unable to load PEAR-like classes with leading slashes because it found the slash and assumed that the requested class was namespaced. It was unable to load namespaced classes with leading slashes because it would look them up in the autoloader's registered namespaces, and was unable to match '\Foo' to 'Foo'. One (ugly) workaround for the namespaced classes was to register all namespaces twice:

    $loader->registerNamespaces(array(
        'Foo'  => __DIR__ . '/lib',
        '\Foo' => __DIR__ . '/lib',
    ));

But that's not very pretty, nor does it solve the bug with PEAR-like classes. Stripping the leading slash before trying to autoload allows UniversalClassLoader to load both namespaced and PEAR-like classes.
2010-10-20 14:20:12 +02:00
..
File [HttpFoundation] moved File Component into the HttpFoundation one 2010-09-09 17:01:48 +02:00
Fixtures Fix UniversalClassLoader issues with leading slashes. 2010-10-20 14:20:12 +02:00
ParameterBagTest.php renamed Symfony\Components to Symfony\Component 2010-08-20 23:09:55 +02:00
RequestMatcherTest.php [HttpFoundation] changed RequestMatcher pattern syntax 2010-10-07 19:12:53 +02:00
RequestTest.php [HttpFoundation] moved File Component into the HttpFoundation one 2010-09-09 17:01:48 +02:00
ResponseTest.php renamed Symfony\Components to Symfony\Component 2010-08-20 23:09:55 +02:00
UniversalClassLoaderTest.php Fix UniversalClassLoader issues with leading slashes. 2010-10-20 14:20:12 +02:00