* file that was distributed with this source code. */ require_once dirname(__FILE__) . '/../../bootstrap/unit.php'; $t = new lime_test(48); // ->setServiceDefinitions() ->addServiceDefinitions() ->getServiceDefinitions() ->setServiceDefinition() ->getServiceDefinition() ->hasServiceDefinition() $t->diag('->setServiceDefinitions() ->addServiceDefinitions() ->getServiceDefinitions() ->setServiceDefinition() ->getServiceDefinition() ->hasServiceDefinition()'); $builder = new sfServiceContainerBuilder(); $definitions = array('foo' => new sfServiceDefinition('FooClass'), 'bar' => new sfServiceDefinition('BarClass')); $builder->setServiceDefinitions($definitions); $t->is($builder->getServiceDefinitions(), $definitions, '->setServiceDefinitions() sets the service definitions'); $t->ok($builder->hasServiceDefinition('foo'), '->hasServiceDefinition() returns true if a service definition exists'); $t->ok(!$builder->hasServiceDefinition('foobar'), '->hasServiceDefinition() returns false if a service definition does not exist'); $builder->setServiceDefinition('foobar', $foo = new sfServiceDefinition('FooBarClass')); $t->is($builder->getServiceDefinition('foobar'), $foo, '->getServiceDefinition() returns a service definition if defined'); $t->ok($builder->setServiceDefinition('foobar', $foo = new sfServiceDefinition('FooBarClass')) === $foo, '->setServiceDefinition() implements a fuild interface by returning the service reference'); $builder->addServiceDefinitions($defs = array('foobar' => new sfServiceDefinition('FooBarClass'))); $t->is($builder->getServiceDefinitions(), array_merge($definitions, $defs), '->addServiceDefinitions() adds the service definitions'); try { $builder->getServiceDefinition('baz'); $t->fail('->getServiceDefinition() throws an InvalidArgumentException if the service definition does not exist'); } catch (InvalidArgumentException $e) { $t->pass('->getServiceDefinition() throws an InvalidArgumentException if the service definition does not exist'); } // ->register() $t->diag('->register()'); $builder = new sfServiceContainerBuilder(); $builder->register('foo', 'FooClass'); $t->ok($builder->hasServiceDefinition('foo'), '->register() registers a new service definition'); $t->ok($builder->getServiceDefinition('foo') instanceof sfServiceDefinition, '->register() returns the newly created sfServiceDefinition instance'); // ->setAlias() $t->diag('->setAlias()');