From 3bdc8c7e65c6f6ecb9992042a83043f65658cb0d Mon Sep 17 00:00:00 2001 From: Robbie Averill Date: Fri, 6 Oct 2017 11:11:49 +1300 Subject: [PATCH] FIX Trim whitespace off names in Injector --- src/Core/Injector/Injector.php | 3 ++- tests/php/Core/Injector/InjectorTest.php | 7 +++++++ tests/php/Core/Injector/InjectorTest/MyChildClass.php | 3 +-- tests/php/Core/Injector/InjectorTest/MyGrandChildClass.php | 3 +-- 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/Core/Injector/Injector.php b/src/Core/Injector/Injector.php index 446b7d22a..7770c2b58 100644 --- a/src/Core/Injector/Injector.php +++ b/src/Core/Injector/Injector.php @@ -1024,7 +1024,8 @@ class Injector implements ContainerInterface $args = $extraArgs; } } - return [ $name, $args ]; + $name = trim($name); + return [$name, $args]; } /** diff --git a/tests/php/Core/Injector/InjectorTest.php b/tests/php/Core/Injector/InjectorTest.php index 024961ed2..9d7850357 100644 --- a/tests/php/Core/Injector/InjectorTest.php +++ b/tests/php/Core/Injector/InjectorTest.php @@ -960,6 +960,13 @@ class InjectorTest extends SapphireTest $injector->get('UnknownService'); } + public function testGetTrimsWhitespaceFromNames() + { + $injector = new Injector; + + $this->assertInstanceOf(MyChildClass::class, $injector->get(' ' . MyChildClass::class . ' ')); + } + /** * Test nesting of injector */ diff --git a/tests/php/Core/Injector/InjectorTest/MyChildClass.php b/tests/php/Core/Injector/InjectorTest/MyChildClass.php index a1aadc31b..d20517d2b 100644 --- a/tests/php/Core/Injector/InjectorTest/MyChildClass.php +++ b/tests/php/Core/Injector/InjectorTest/MyChildClass.php @@ -2,10 +2,9 @@ namespace SilverStripe\Core\Tests\Injector\InjectorTest; -use SilverStripe\Core\Tests\Injector\InjectorTest; use SilverStripe\Dev\TestOnly; -class MyChildClass extends InjectorTest\MyParentClass implements TestOnly +class MyChildClass extends MyParentClass implements TestOnly { } diff --git a/tests/php/Core/Injector/InjectorTest/MyGrandChildClass.php b/tests/php/Core/Injector/InjectorTest/MyGrandChildClass.php index f8d01dbd6..bea48722a 100644 --- a/tests/php/Core/Injector/InjectorTest/MyGrandChildClass.php +++ b/tests/php/Core/Injector/InjectorTest/MyGrandChildClass.php @@ -2,10 +2,9 @@ namespace SilverStripe\Core\Tests\Injector\InjectorTest; -use SilverStripe\Core\Tests\Injector\InjectorTest; use SilverStripe\Dev\TestOnly; -class MyGrandChildClass extends InjectorTest\MyChildClass implements TestOnly +class MyGrandChildClass extends MyChildClass implements TestOnly { }