1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- <?php
- /*
- * This file is part of the Symfony package.
- *
- * (c) Fabien Potencier <fabien@symfony.com>
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
- namespace Symfony\Contracts\Tests\Service;
- use PHPUnit\Framework\TestCase;
- use Psr\Container\ContainerInterface;
- use Symfony\Contracts\Service\ServiceLocatorTrait;
- use Symfony\Contracts\Service\ServiceSubscriberInterface;
- use Symfony\Contracts\Service\ServiceSubscriberTrait;
- class ServiceSubscriberTraitTest extends TestCase
- {
- public function testMethodsOnParentsAndChildrenAreIgnoredInGetSubscribedServices()
- {
- $expected = [TestService::class.'::aService' => '?Symfony\Contracts\Tests\Service\Service2'];
- $this->assertEquals($expected, ChildTestService::getSubscribedServices());
- }
- public function testSetContainerIsCalledOnParent()
- {
- $container = new class([]) implements ContainerInterface {
- use ServiceLocatorTrait;
- };
- $this->assertSame($container, (new TestService())->setContainer($container));
- }
- }
- class ParentTestService
- {
- public function aParentService(): Service1
- {
- }
- public function setContainer(ContainerInterface $container)
- {
- return $container;
- }
- }
- class TestService extends ParentTestService implements ServiceSubscriberInterface
- {
- use ServiceSubscriberTrait;
- public function aService(): Service2
- {
- }
- }
- class ChildTestService extends TestService
- {
- public function aChildService(): Service3
- {
- }
- }
|