Ejemplo n.º 1
0
    def testEscapeValue(self):
        """
        @covers Symfony\Component\DependencyInjection\ParameterBag\ParameterBag.escapeValue

        """

        bag = ParameterBag()

        bag.add({
            'foo':
            bag.escapeValue(
                {'bar': {
                    'ding': 'I\'m a bar %foo %bar',
                    'zero': None
                }}),
            'bar':
            bag.escapeValue('I\'m a %foo%'),
        })

        self.assertEqual('I\'m a %%foo%%', bag.get('bar'),
                         '->escapeValue() escapes % by doubling it')
        self.assertEqual(
            {'bar': {
                'ding': 'I\'m a bar %%foo %%bar',
                'zero': None
            }}, bag.get('foo'), '->escapeValue() escapes % by doubling it')
Ejemplo n.º 2
0
    def testEscapeValue(self):
        """
        @covers Symfony\Component\DependencyInjection\ParameterBag\ParameterBag.escapeValue

        """

        bag = ParameterBag();

        bag.add({
            'foo': bag.escapeValue({'bar': {'ding': 'I\'m a bar %foo %bar', 'zero': None}}),
            'bar': bag.escapeValue('I\'m a %foo%'),
        });

        self.assertEqual('I\'m a %%foo%%', bag.get('bar'), '->escapeValue() escapes % by doubling it');
        self.assertEqual({'bar': {'ding': 'I\'m a bar %%foo %%bar', 'zero': None}}, bag.get('foo'), '->escapeValue() escapes % by doubling it');
Ejemplo n.º 3
0
    def testResolveUnescapesValue(self):
        """
        @covers Symfony\Component\DependencyInjection\ParameterBag\ParameterBag.resolve

        """

        bag = ParameterBag({
            'foo': {'bar': {'ding': 'I\'m a bar %%foo %%bar'}},
            'bar': 'I\'m a %%foo%%',
        });

        bag.resolve();

        self.assertEqual('I\'m a %foo%', bag.get('bar'), '->resolveValue() supports % escaping by doubling it');
        self.assertEqual({'bar': {'ding': 'I\'m a bar %foo %bar'}}, bag.get('foo'), '->resolveValue() supports % escaping by doubling it');
Ejemplo n.º 4
0
    def testResolveUnescapesValue(self):
        """
        @covers Symfony\Component\DependencyInjection\ParameterBag\ParameterBag.resolve

        """

        bag = ParameterBag({
            'foo': {
                'bar': {
                    'ding': 'I\'m a bar %%foo %%bar'
                }
            },
            'bar': 'I\'m a %%foo%%',
        })

        bag.resolve()

        self.assertEqual(
            'I\'m a %foo%', bag.get('bar'),
            '->resolveValue() supports % escaping by doubling it')
        self.assertEqual({'bar': {
            'ding': 'I\'m a bar %foo %bar'
        }}, bag.get('foo'),
                         '->resolveValue() supports % escaping by doubling it')
Ejemplo n.º 5
0
    def testGetSet(self):
        """
        @covers Symfony\Component\DependencyInjection\ParameterBag\ParameterBag.get
        @covers Symfony\Component\DependencyInjection\ParameterBag\ParameterBag.set

        """

        bag = ParameterBag({'foo': 'bar'});
        bag.set('bar', 'foo');
        self.assertEqual('foo', bag.get('bar'), '->set() sets the value of a new parameter');

        bag.set('foo', 'baz');
        self.assertEqual('baz', bag.get('foo'), '->set() overrides previously set parameter');

        bag.set('Foo', 'baz1');
        self.assertEqual('baz1', bag.get('foo'), '->set() converts the key to lowercase');
        self.assertEqual('baz1', bag.get('FOO'), '->get() converts the key to lowercase');

        try:
            bag.get('baba');
            self.fail('->get() raise an InvalidArgumentException if the key does not exist');
        except Exception as e:
            self.assertTrue(isinstance(e, InvalidArgumentException), '->get() raise an InvalidArgumentException if the key does not exist');
            self.assertEqual('You have requested a non-existent parameter "baba".', e.getMessage(), '->get() raise an InvalidArgumentException if the key does not exist');
Ejemplo n.º 6
0
    def testGetSet(self):
        """
        @covers Symfony\Component\DependencyInjection\ParameterBag\ParameterBag.get
        @covers Symfony\Component\DependencyInjection\ParameterBag\ParameterBag.set

        """

        bag = ParameterBag({'foo': 'bar'})
        bag.set('bar', 'foo')
        self.assertEqual('foo', bag.get('bar'),
                         '->set() sets the value of a new parameter')

        bag.set('foo', 'baz')
        self.assertEqual('baz', bag.get('foo'),
                         '->set() overrides previously set parameter')

        bag.set('Foo', 'baz1')
        self.assertEqual('baz1', bag.get('foo'),
                         '->set() converts the key to lowercase')
        self.assertEqual('baz1', bag.get('FOO'),
                         '->get() converts the key to lowercase')

        try:
            bag.get('baba')
            self.fail(
                '->get() raise an InvalidArgumentException if the key does not exist'
            )
        except Exception as e:
            self.assertTrue(
                isinstance(e, InvalidArgumentException),
                '->get() raise an InvalidArgumentException if the key does not exist'
            )
            self.assertEqual(
                'You have requested a non-existent parameter "baba".',
                e.getMessage(),
                '->get() raise an InvalidArgumentException if the key does not exist'
            )