Skip to content
This repository was archived by the owner on Feb 6, 2020. It is now read-only.

Commit b8b1525

Browse files
committed
Updated to use zend-container-config-test library
All these tests implemented here previously for shared services are moved into separate library so it should be used instead.
1 parent e80999b commit b8b1525

File tree

3 files changed

+64
-85
lines changed

3 files changed

+64
-85
lines changed

composer.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,8 @@
3030
"ocramius/proxy-manager": "^2.1.1",
3131
"phpbench/phpbench": "^0.13.0",
3232
"phpunit/phpunit": "^6.4.4",
33-
"zendframework/zend-coding-standard": "~1.0.0"
33+
"zendframework/zend-coding-standard": "~1.0.0",
34+
"zendframework/zend-container-config-test": "^0.2.1"
3435
},
3536
"provide": {
3637
"psr/container-implementation": "^1.0"

composer.lock

Lines changed: 56 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

test/ContainerTest.php

Lines changed: 6 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -7,93 +7,16 @@
77

88
namespace ZendTest\ServiceManager;
99

10-
use PHPUnit\Framework\TestCase;
10+
use Psr\Container\ContainerInterface;
11+
use Zend\ContainerConfigTest\AbstractExpressiveContainerConfigTest;
12+
use Zend\ContainerConfigTest\SharedTestTrait;
1113
use Zend\ServiceManager\ServiceManager;
1214

13-
class ContainerTest extends TestCase
15+
class ContainerTest extends AbstractExpressiveContainerConfigTest
1416
{
15-
public function config()
16-
{
17-
yield 'factories' => [['factories' => ['service' => TestAsset\SampleFactory::class]]];
18-
yield 'invokables' => [['invokables' => ['service' => TestAsset\InvokableObject::class]]];
19-
yield 'aliases-invokables' => [
20-
[
21-
'aliases' => ['service' => TestAsset\InvokableObject::class],
22-
'invokables' => [TestAsset\InvokableObject::class => TestAsset\InvokableObject::class],
23-
],
24-
];
25-
yield 'aliases-factories' => [
26-
[
27-
'aliases' => ['service' => TestAsset\InvokableObject::class],
28-
'factories' => [TestAsset\InvokableObject::class => TestAsset\SampleFactory::class],
29-
],
30-
];
31-
}
32-
33-
/**
34-
* @dataProvider config
35-
*/
36-
public function testIsSharedByDefault(array $config)
37-
{
38-
$container = $this->createContainer($config);
39-
40-
$service1 = $container->get('service');
41-
$service2 = $container->get('service');
42-
43-
$this->assertSame($service1, $service2);
44-
}
45-
46-
/**
47-
* @dataProvider config
48-
*/
49-
public function testCanDisableSharedByDefault(array $config)
50-
{
51-
$container = $this->createContainer(array_merge($config, [
52-
'shared_by_default' => false,
53-
]));
54-
55-
$service1 = $container->get('service');
56-
$service2 = $container->get('service');
57-
58-
$this->assertNotSame($service1, $service2);
59-
}
60-
61-
/**
62-
* @dataProvider config
63-
*/
64-
public function testCanDisableSharedForSingleService(array $config)
65-
{
66-
$container = $this->createContainer(array_merge($config, [
67-
'shared' => [
68-
'service' => false,
69-
],
70-
]));
71-
72-
$service1 = $container->get('service');
73-
$service2 = $container->get('service');
74-
75-
$this->assertNotSame($service1, $service2);
76-
}
77-
78-
/**
79-
* @dataProvider config
80-
*/
81-
public function testCanEnableSharedForSingleService(array $config)
82-
{
83-
$container = $this->createContainer(array_merge($config, [
84-
'shared_by_default' => false,
85-
'shared' => [
86-
'service' => true,
87-
],
88-
]));
89-
90-
$service1 = $container->get('service');
91-
$service2 = $container->get('service');
92-
93-
$this->assertSame($service1, $service2);
94-
}
17+
use SharedTestTrait;
9518

96-
private function createContainer(array $config)
19+
protected function createContainer(array $config) : ContainerInterface
9720
{
9821
return new ServiceManager($config);
9922
}

0 commit comments

Comments
 (0)