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']));
102 $params = array(
'param' =>
'value');
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']);
An exception for terminatinating execution or to throw for unit testing.
testConstructorInjection()
testDefiningNewServiceAfterFreeze()
testProtectFailsForInvalidServiceDefinitions($service)
@dataProvider badServiceDefinitionProvider @expectedException \InvalidArgumentException @expectedExce...
testOffsetGetHonorsNullValues()
testOffsetGetValidatesKeyIsPresent()
@expectedException \InvalidArgumentException @expectedExceptionMessage Identifier "foo" is not define...
testOverridingServiceAfterFreeze()
@expectedException \RuntimeException @expectedExceptionMessage Cannot override frozen service "foo".
testRawValidatesKeyIsPresent()
@expectedException \InvalidArgumentException @expectedExceptionMessage Identifier "foo" is not define...
badServiceDefinitionProvider()
Provider for invalid service definitions.
serviceDefinitionProvider()
Provider for service definitions.
settingAnInvokableObjectShouldTreatItAsFactory()
testProtect($service)
@dataProvider serviceDefinitionProvider
testRemovingServiceAfterFreeze()
testRawHonorsNullValues()
testExtendFailsForKeysNotContainingServiceDefinitions($service)
@dataProvider badServiceDefinitionProvider @expectedException \InvalidArgumentException @expectedExce...
testFactoryFailsForInvalidServiceDefinitions($service)
@dataProvider badServiceDefinitionProvider @expectedException \InvalidArgumentException @expectedExce...
testExtendDoesNotLeakWithFactories()
testExtend($service)
@dataProvider serviceDefinitionProvider
testExtendFailsForInvalidServiceDefinitions($service)
@dataProvider badServiceDefinitionProvider @expectedException \InvalidArgumentException @expectedExce...
testGlobalFunctionNameAsParameterValue()
testExtendValidatesKeyIsPresent()
@expectedException \InvalidArgumentException @expectedExceptionMessage Identifier "foo" is not define...
testShouldPassContainerAsParameter()
testExtendingServiceAfterOtherServiceFreeze()
testServicesShouldBeDifferent()
settingNonInvokableObjectShouldTreatItAsParameter()
testShare($service)
@dataProvider serviceDefinitionProvider