def testProcessDoesNotCopyTags(self): container = ContainerBuilder() container\ .register('parent')\ .addTag('foo')\ container\ .setDefinition('child', DefinitionDecorator('parent'))\ self._process(container) defi = container.getDefinition('child') self.assertEqual({}, defi.getTags())
def testProcessDoesNotCopyScope(self): container = ContainerBuilder() container\ .register('parent')\ .setScope('foo')\ container\ .setDefinition('child', DefinitionDecorator('parent'))\ self._process(container) defi = container.getDefinition('child') self.assertEqual(ContainerInterface.SCOPE_CONTAINER, defi.getScope())
def testProcessDoesNotCopyAbstract(self): container = ContainerBuilder() container\ .register('parent')\ .setAbstract(True)\ container\ .setDefinition('child', DefinitionDecorator('parent'))\ self._process(container) defi = container.getDefinition('child') self.assertFalse(defi.isAbstract())
def testProcessDoesNotCopyTags(self): container = ContainerBuilder(); container\ .register('parent')\ .addTag('foo')\ ; container\ .setDefinition('child', DefinitionDecorator('parent'))\ ; self._process(container); defi = container.getDefinition('child'); self.assertEqual({}, defi.getTags());
def testProcessDoesNotCopyScope(self): container = ContainerBuilder(); container\ .register('parent')\ .setScope('foo')\ ; container\ .setDefinition('child', DefinitionDecorator('parent'))\ ; self._process(container); defi = container.getDefinition('child'); self.assertEqual(ContainerInterface.SCOPE_CONTAINER, defi.getScope());
def testProcessDoesNotCopyAbstract(self): container = ContainerBuilder(); container\ .register('parent')\ .setAbstract(True)\ ; container\ .setDefinition('child', DefinitionDecorator('parent'))\ ; self._process(container); defi = container.getDefinition('child'); self.assertFalse(defi.isAbstract());
def testProcess(self): container = ContainerBuilder(); container.register('parent', 'foo').setArguments(['moo', 'b']).setProperty('foo', 'moo'); container.setDefinition('child', DefinitionDecorator('parent'))\ .replaceArgument(0, 'a')\ .setProperty('foo', 'bar')\ .setClass('bar')\ ; self._process(container); definition = container.getDefinition('child'); self.assertFalse(isinstance(object, DefinitionDecorator)); self.assertEqual('bar', definition.getClass()); self.assertEqual(['a', 'b'], definition.getArguments()); self.assertEqual({'foo': 'bar'}, definition.getProperties());
def testProcess(self): container = ContainerBuilder() container.register('parent', 'foo').setArguments(['moo', 'b' ]).setProperty('foo', 'moo') container.setDefinition('child', DefinitionDecorator('parent'))\ .replaceArgument(0, 'a')\ .setProperty('foo', 'bar')\ .setClass('bar')\ self._process(container) definition = container.getDefinition('child') self.assertFalse(isinstance(object, DefinitionDecorator)) self.assertEqual('bar', definition.getClass()) self.assertEqual(['a', 'b'], definition.getArguments()) self.assertEqual({'foo': 'bar'}, definition.getProperties())
def testProcessAppendsMethodCallsAlways(self): container = ContainerBuilder() container\ .register('parent')\ .addMethodCall('foo', ['bar'])\ container\ .setDefinition('child', DefinitionDecorator('parent'))\ .addMethodCall('bar', ['foo'])\ self._process(container) definition = container.getDefinition('child') self.assertEqual([ ['foo', ['bar']], ['bar', ['foo']], ], definition.getMethodCalls())
def testProcessAppendsMethodCallsAlways(self): container = ContainerBuilder(); container\ .register('parent')\ .addMethodCall('foo', ['bar'])\ ; container\ .setDefinition('child', DefinitionDecorator('parent'))\ .addMethodCall('bar', ['foo'])\ ; self._process(container); definition = container.getDefinition('child'); self.assertEqual([ ['foo', ['bar']], ['bar', ['foo']], ], definition.getMethodCalls() );
def testProcessHandlesMultipleInheritance(self): container = ContainerBuilder() container\ .register('parent', 'foo')\ .setArguments(['foo', 'bar', 'c'])\ container\ .setDefinition('child2', DefinitionDecorator('child1'))\ .replaceArgument(1, 'b')\ container\ .setDefinition('child1', DefinitionDecorator('parent'))\ .replaceArgument(0, 'a')\ self._process(container) defi = container.getDefinition('child2') self.assertEqual(['a', 'b', 'c'], defi.getArguments()) self.assertEqual('foo', defi.getClass())
def testProcessHandlesMultipleInheritance(self): container = ContainerBuilder(); container\ .register('parent', 'foo')\ .setArguments(['foo', 'bar', 'c'])\ ; container\ .setDefinition('child2', DefinitionDecorator('child1'))\ .replaceArgument(1, 'b')\ ; container\ .setDefinition('child1', DefinitionDecorator('parent'))\ .replaceArgument(0, 'a')\ ; self._process(container); defi = container.getDefinition('child2'); self.assertEqual(['a', 'b', 'c'], defi.getArguments()); self.assertEqual('foo', defi.getClass());