[DependencyInjection] Made the reference case insensitive

The container is case insensitive so using capital letters in a reference
made it fail in some cases when checking the dependencies.
Closes #2807
This commit is contained in:
Christophe Coevoet 2011-12-08 16:30:50 +01:00
parent 848f87504d
commit 2c3e9adcd1
2 changed files with 7 additions and 1 deletions

View File

@ -35,7 +35,7 @@ class Reference
*/
public function __construct($id, $invalidBehavior = ContainerInterface::EXCEPTION_ON_INVALID_REFERENCE, $strict = true)
{
$this->id = $id;
$this->id = strtolower($id);
$this->invalidBehavior = $invalidBehavior;
$this->strict = $strict;
}

View File

@ -23,4 +23,10 @@ class ReferenceTest extends \PHPUnit_Framework_TestCase
$ref = new Reference('foo');
$this->assertEquals('foo', (string) $ref, '__construct() sets the id of the reference, which is used for the __toString() method');
}
public function testCaseInsensitive()
{
$ref = new Reference('FooBar');
$this->assertEquals('foobar', (string) $ref, 'the id is lowercased as the container is case insensitive');
}
}