*/ class ServiceLocatorTest extends TestCase { public function testCanAccessServices() { $pimple = new Container(); $pimple['service'] = function () { return new Fixtures\Service(); }; $locator = new ServiceLocator($pimple, array('service')); $this->assertSame($pimple['service'], $locator->get('service')); } public function testCanAccessAliasedServices() { $pimple = new Container(); $pimple['service'] = function () { return new Fixtures\Service(); }; $locator = new ServiceLocator($pimple, array('alias' => 'service')); $this->assertSame($pimple['service'], $locator->get('alias')); } /** * @expectedException \Pimple\Exception\UnknownIdentifierException * @expectedExceptionMessage Identifier "service" is not defined. */ public function testCannotAccessAliasedServiceUsingRealIdentifier() { $pimple = new Container(); $pimple['service'] = function () { return new Fixtures\Service(); }; $locator = new ServiceLocator($pimple, array('alias' => 'service')); $service = $locator->get('service'); } /** * @expectedException \Pimple\Exception\UnknownIdentifierException * @expectedExceptionMessage Identifier "foo" is not defined. */ public function testGetValidatesServiceCanBeLocated() { $pimple = new Container(); $pimple['service'] = function () { return new Fixtures\Service(); }; $locator = new ServiceLocator($pimple, array('alias' => 'service')); $service = $locator->get('foo'); } /** * @expectedException \Pimple\Exception\UnknownIdentifierException * @expectedExceptionMessage Identifier "invalid" is not defined. */ public function testGetValidatesTargetServiceExists() { $pimple = new Container(); $pimple['service'] = function () { return new Fixtures\Service(); }; $locator = new ServiceLocator($pimple, array('alias' => 'invalid')); $service = $locator->get('alias'); } public function testHasValidatesServiceCanBeLocated() { $pimple = new Container(); $pimple['service1'] = function () { return new Fixtures\Service(); }; $pimple['service2'] = function () { return new Fixtures\Service(); }; $locator = new ServiceLocator($pimple, array('service1')); $this->assertTrue($locator->has('service1')); $this->assertFalse($locator->has('service2')); } public function testHasChecksIfTargetServiceExists() { $pimple = new Container(); $pimple['service'] = function () { return new Fixtures\Service(); }; $locator = new ServiceLocator($pimple, array('foo' => 'service', 'bar' => 'invalid')); $this->assertTrue($locator->has('foo')); $this->assertFalse($locator->has('bar')); } } __halt_compiler();----SIGNATURE:----uA5+bOVcWALi+6QdjdbI6UddEFGQKZBnzrClwLBT586BVybUSm8D2Dp2L50ZWY4aIWbQIH0BL985QeR6LjALMSRf6D6hAoOX+kKpn2nx9dRB4xvzZRdR/1M+VrQbjmPSQyoPf38mXzFjOHZwXnuvolSbZd417VvwlZraut683U0uvzTPcDW6Jr3heHAs5GW/RgQVliChTOSYG0ESSHVHE6hB0vsWg6Ujid05VUaUWOzJdFN2iihaAmL9S7XvSS2lDfkjxqaMDzx3azTg2+av/jRmdRbU5IwO0uRrjJBf2hqjYsnpfpBtQHM/QMMOmBHWwCoyAE1JXJL37vzEkc9WgBlUL4XQRK6C018qnPVoIOk+GGrbbiRNl6IOWwtrMzKHXM6/lybd64hIuvUK6zYGV/NIw8IYJQXjPmcVgARt+/xvlnY+2vkRRMJGX5Wvkf/jlR6LNSL6xV8RpT2vntuvonZ1lDw+4tzZGvCCt+fTi6sbEgf8J2guYhAmKmTFdzzRKekC3WqkX20Wc1k1wXKe3Pk3DxVxVt/GGweCUzCkp/IHOOguE8AzLVUXsHMX03WQulvbud67ITZD4Lo31ZIE8rlVeV2VxCABW2OAL7jfiFjEcofiC2oejnhOZ+ozE7+aQw86kE5Krk0+Y4CKAWljiwkb+KQRyN0FU3APRyqhA9c=----ATTACHMENT:----NzgwMzkyMDA4ODYxMTAzMCA5NDA1MTIxNDEzMTU4ODc0IDE4NjIzODU2NDExNjUwNjg=