$t->ok($builder->getService('bar') === $builder->getService('foo'), '->setAlias() creates a service that is an alias to another one'); try { $builder->getAlias('foobar'); $t->fail('->getAlias() throws an InvalidArgumentException if the alias does not exist'); } catch (\InvalidArgumentException $e) { $t->pass('->getAlias() throws an InvalidArgumentException if the alias does not exist'); } // ->getAliases() $t->diag('->getAliases()'); $builder = new Builder(); $builder->setAlias('bar', 'foo'); $builder->setAlias('foobar', 'foo'); $t->is($builder->getAliases(), array('bar' => 'foo', 'foobar' => 'foo'), '->getAliases() returns all service aliases'); $builder->register('bar', 'stdClass'); $t->is($builder->getAliases(), array('foobar' => 'foo'), '->getAliases() does not return aliased services that have been overridden'); $builder->setService('foobar', 'stdClass'); $t->is($builder->getAliases(), array(), '->getAliases() does not return aliased services that have been overridden'); // ->createService() # file $t->diag('->createService() # file'); $builder = new Builder(); $builder->register('foo1', 'FooClass')->setFile($fixturesPath . '/includes/foo.php'); $t->ok($builder->getService('foo1'), '->createService() requires the file defined by the service definition'); $builder->register('foo2', 'FooClass')->setFile($fixturesPath . '/includes/%file%.php'); $builder->setParameter('file', 'foo'); $t->ok($builder->getService('foo2'), '->createService() replaces parameters in the file provided by the service definition'); // ->createService() # class $t->diag('->createService() # class'); $builder = new Builder(); $builder->register('foo1', '%class%'); $builder->setParameter('class', 'stdClass'); $t->ok($builder->getService('foo1') instanceof stdClass, '->createService() replaces parameters in the class provided by the service definition');
public function testGetAliases() { $builder = new Builder(); $builder->setAlias('bar', 'foo'); $builder->setAlias('foobar', 'foo'); $this->assertEquals(array('bar' => 'foo', 'foobar' => 'foo'), $builder->getAliases(), '->getAliases() returns all service aliases'); $builder->register('bar', 'stdClass'); $this->assertEquals(array('foobar' => 'foo'), $builder->getAliases(), '->getAliases() does not return aliased services that have been overridden'); $builder->setService('foobar', 'stdClass'); $this->assertEquals(array(), $builder->getAliases(), '->getAliases() does not return aliased services that have been overridden'); }