39 $pimple[
'param'] =
'value';
41 $this->assertEquals(
'value', $pimple[
'param']);
47 $pimple[
'service'] =
function () {
51 $this->assertInstanceOf(
'Pimple\Tests\Fixtures\Service', $pimple[
'service']);
57 $pimple[
'service'] = $pimple->factory(
function () {
61 $serviceOne = $pimple[
'service'];
62 $this->assertInstanceOf(
'Pimple\Tests\Fixtures\Service', $serviceOne);
64 $serviceTwo = $pimple[
'service'];
65 $this->assertInstanceOf(
'Pimple\Tests\Fixtures\Service', $serviceTwo);
67 $this->assertNotSame($serviceOne, $serviceTwo);
73 $pimple[
'service'] =
function () {
76 $pimple[
'container'] =
function ($container) {
80 $this->assertNotSame($pimple, $pimple[
'service']);
81 $this->assertSame($pimple, $pimple[
'container']);
87 $pimple[
'param'] =
'value';
88 $pimple[
'service'] =
function () {
92 $pimple[
'null'] = null;
94 $this->assertTrue(isset($pimple[
'param']));
95 $this->assertTrue(isset($pimple[
'service']));
96 $this->assertTrue(isset($pimple[
'null']));
97 $this->assertFalse(isset($pimple[
'non_existent']));
105 $this->assertSame(
$params[
'param'], $pimple[
'param']);
121 $pimple[
'foo'] = null;
122 $this->assertNull($pimple[
'foo']);
128 $pimple[
'param'] =
'value';
129 $pimple[
'service'] =
function () {
133 unset($pimple[
'param'], $pimple[
'service']);
134 $this->assertFalse(isset($pimple[
'param']));
135 $this->assertFalse(isset($pimple[
'service']));
144 $pimple[
'shared_service'] = $service;
146 $serviceOne = $pimple[
'shared_service'];
147 $this->assertInstanceOf(
'Pimple\Tests\Fixtures\Service', $serviceOne);
149 $serviceTwo = $pimple[
'shared_service'];
150 $this->assertInstanceOf(
'Pimple\Tests\Fixtures\Service', $serviceTwo);
152 $this->assertSame($serviceOne, $serviceTwo);
161 $pimple[
'protected'] = $pimple->protect($service);
163 $this->assertSame($service, $pimple[
'protected']);
169 $pimple[
'global_function'] =
'strlen';
170 $this->assertSame(
'strlen', $pimple[
'global_function']);
176 $pimple[
'service'] = $definition = $pimple->factory(
function () {
return 'foo'; });
177 $this->assertSame($definition, $pimple->raw(
'service'));
183 $pimple[
'foo'] = null;
184 $this->assertNull($pimple->raw(
'foo'));
190 $this->assertSame($pimple, $pimple->register($this->getMock(
'Pimple\ServiceProviderInterface')));
209 $pimple[
'shared_service'] =
function () {
212 $pimple[
'factory_service'] = $pimple->factory(
function () {
216 $pimple->extend(
'shared_service', $service);
217 $serviceOne = $pimple[
'shared_service'];
218 $this->assertInstanceOf(
'Pimple\Tests\Fixtures\Service', $serviceOne);
219 $serviceTwo = $pimple[
'shared_service'];
220 $this->assertInstanceOf(
'Pimple\Tests\Fixtures\Service', $serviceTwo);
221 $this->assertSame($serviceOne, $serviceTwo);
222 $this->assertSame($serviceOne->value, $serviceTwo->value);
224 $pimple->extend(
'factory_service', $service);
225 $serviceOne = $pimple[
'factory_service'];
226 $this->assertInstanceOf(
'Pimple\Tests\Fixtures\Service', $serviceOne);
227 $serviceTwo = $pimple[
'factory_service'];
228 $this->assertInstanceOf(
'Pimple\Tests\Fixtures\Service', $serviceTwo);
229 $this->assertNotSame($serviceOne, $serviceTwo);
230 $this->assertNotSame($serviceOne->value, $serviceTwo->value);
235 if (extension_loaded(
'pimple')) {
236 $this->markTestSkipped(
'Pimple extension does not support this test');
240 $pimple[
'foo'] = $pimple->factory(
function () {
return; });
241 $pimple[
'foo'] = $pimple->extend(
'foo',
function ($foo, $pimple) {
return; });
242 unset($pimple[
'foo']);
244 $p = new \ReflectionProperty($pimple,
'values');
245 $p->setAccessible(
true);
246 $this->assertEmpty($p->getValue($pimple));
248 $p = new \ReflectionProperty($pimple,
'factories');
249 $p->setAccessible(
true);
250 $this->assertCount(0, $p->getValue($pimple));
260 $pimple->extend(
'foo',
function () {});
266 $pimple[
'foo'] = 123;
267 $pimple[
'bar'] = 123;
269 $this->assertEquals(
array(
'foo',
'bar'), $pimple->keys());
278 $this->assertInstanceOf(
'Pimple\Tests\Fixtures\Service', $pimple[
'invokable']);
287 $this->assertInstanceOf(
'Pimple\Tests\Fixtures\NonInvokable', $pimple[
'non_invokable']);
298 $pimple->factory($service);
309 $pimple->protect($service);
320 $pimple[
'foo'] = $service;
321 $pimple->extend(
'foo',
function () {});
332 $pimple[
'foo'] =
function () {};
333 $pimple->extend(
'foo', $service);
343 array(
new Fixtures\NonInvokable()),
353 array(
function ($value) {
355 $service->value = $value;
359 array(
new Fixtures\Invokable()),
366 $pimple[
'foo'] =
function () {
369 $foo = $pimple[
'foo'];
371 $pimple[
'bar'] =
function () {
374 $this->assertSame(
'bar', $pimple[
'bar']);
384 $pimple[
'foo'] =
function () {
387 $foo = $pimple[
'foo'];
389 $pimple[
'foo'] =
function () {
397 $pimple[
'foo'] =
function () {
400 $foo = $pimple[
'foo'];
402 unset($pimple[
'foo']);
403 $pimple[
'foo'] =
function () {
406 $this->assertSame(
'bar', $pimple[
'foo']);
412 $pimple[
'foo'] =
function () {
415 $pimple[
'foo'] = $pimple->extend(
'foo',
function ($foo, $app) {
418 $pimple[
'foo'] = $pimple->extend(
'foo',
function ($foo, $app) {
421 $this->assertSame(
'foo.bar.baz', $pimple[
'foo']);
427 $pimple[
'foo'] =
function () {
430 $pimple[
'bar'] =
function () {
433 $foo = $pimple[
'foo'];
435 $pimple[
'bar'] = $pimple->extend(
'bar',
function ($bar, $app) {
438 $this->assertSame(
'bar.baz', $pimple[
'bar']);
testExtend($service)
serviceDefinitionProvider
testShare($service)
serviceDefinitionProvider
testProtectFailsForInvalidServiceDefinitions($service)
badServiceDefinitionProvider Callable is not a Closure or invokable object.
testConstructorInjection()
serviceDefinitionProvider()
Provider for service definitions.
testExtendFailsForKeysNotContainingServiceDefinitions($service)
badServiceDefinitionProvider Identifier "foo" does not contain an object definition.
testRemovingServiceAfterFreeze()
testExtendingServiceAfterOtherServiceFreeze()
settingAnInvokableObjectShouldTreatItAsFactory()
testFactoryFailsForInvalidServiceDefinitions($service)
badServiceDefinitionProvider Service definition is not a Closure or invokable object.
testServicesShouldBeDifferent()
testShouldPassContainerAsParameter()
testOffsetGetHonorsNullValues()
testOverridingServiceAfterFreeze()
Cannot override frozen service "foo".
testDefiningNewServiceAfterFreeze()
settingNonInvokableObjectShouldTreatItAsParameter()
testExtendValidatesKeyIsPresent()
Identifier "foo" is not defined.
Create styles array
The data for the language used.
testRawHonorsNullValues()
testExtendDoesNotLeakWithFactories()
testOffsetGetValidatesKeyIsPresent()
Identifier "foo" is not defined.
testRawValidatesKeyIsPresent()
Identifier "foo" is not defined.
badServiceDefinitionProvider()
Provider for invalid service definitions.
testProtect($service)
serviceDefinitionProvider
testGlobalFunctionNameAsParameterValue()
testExtendFailsForInvalidServiceDefinitions($service)
badServiceDefinitionProvider Extension service definition is not a Closure or invokable object...