Skip to content
This repository has been archived by the owner on Jan 21, 2020. It is now read-only.

Commit

Permalink
Added Alias tests
Browse files Browse the repository at this point in the history
Check if service fetched by alias and by name directly is exactly the
same service
  • Loading branch information
michalbundyra committed Feb 15, 2018
1 parent 126e38d commit 1ce14f5
Show file tree
Hide file tree
Showing 2 changed files with 57 additions and 0 deletions.
55 changes: 55 additions & 0 deletions src/AliasTestTrait.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
<?php
/**
* @see https://github.com/zendframework/zend-container-test for the canonical source repository
* @copyright Copyright (c) 2018 Zend Technologies USA Inc. (https://www.zend.com)
* @license https://github.com/zendframework/zend-container-test/blob/master/LICENSE.md New BSD License
*/

declare(strict_types=1);

namespace Zend\ContainerTest;

use Generator;

trait AliasTestTrait
{
public function alias() : Generator
{
yield 'alias-invokable' => [
[
'aliases' => ['alias' => 'service'],
'invokables' => ['service' => TestAsset\Service::class],
]
];
yield 'alias-factory' => [
[
'aliases' => ['alias' => 'service'],
'factories' => ['service' => TestAsset\Factory::class],
]
];
}

/**
* @dataProvider alias
*/
public function testAliasGetServiceFirst(array $config) : void
{
$container = $this->createContainer($config);

self::assertTrue($container->has('service'));
self::assertTrue($container->has('alias'));
self::assertSame($container->get('service'), $container->get('alias'));
}

/**
* @dataProvider alias
*/
public function testAliasGetAliasFirst(array $config) : void
{
$container = $this->createContainer($config);

self::assertTrue($container->has('alias'));
self::assertTrue($container->has('service'));
self::assertSame($container->get('alias'), $container->get('service'));
}
}
2 changes: 2 additions & 0 deletions test/BaseContainerTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,15 @@

namespace ZendTest\ContainerTest;

use Zend\ContainerTest\AliasTestTrait;
use Zend\ContainerTest\ContainerTest;
use Zend\ContainerTest\FactoryTestTrait;
use Zend\ContainerTest\InvokableTestTrait;
use Zend\ContainerTest\SharedTestTrait;

abstract class BaseContainerTest extends ContainerTest
{
use AliasTestTrait;
use FactoryTestTrait;
use InvokableTestTrait;
use SharedTestTrait;
Expand Down

0 comments on commit 1ce14f5

Please sign in to comment.