/** @test */ function it_should_allow_extending_a_service_definition_more_than_once() { $resolver = new Resolver(); $app = new Slim(); $app->container->singleton('service', function () { return new stdClass(); }); $resolver->extend($app, 'service', function (stdClass $service) { $service->first = true; return $service; }); $resolver->extend($app, 'service', function (stdClass $service) { $service->second = true; return $service; }); $service = $app->container->get('service'); $this->assertObjectHasAttribute('first', $service); $this->assertTrue($service->first); $this->assertObjectHasAttribute('second', $service); $this->assertTrue($service->second); }