def test_parse_tag_special_symbol_in_arg_value(self): parser = template.Parser([]) token = template.Token(template.TOKEN_BLOCK, u'tag_name "será?"') args_kwargs = EasyNode.parse_to_args_kwargs(parser, token) args_kwargs_str = {'args': tuple([x.token for x in args_kwargs['args']]), 'kwargs': dict((key, value.token) for key, value in args_kwargs['kwargs'].iteritems())} self.assertEquals( {'args': (u'"será?"',), 'kwargs': {}}, args_kwargs_str )
def test_parse_tag_with_variable_arg(self): parser = template.Parser([]) token = template.Token(template.TOKEN_BLOCK, 'tag_name argvariable') args_kwargs = EasyNode.parse_to_args_kwargs(parser, token) args_kwargs_str = {'args': tuple([x.token for x in args_kwargs['args']]), 'kwargs': dict((key, value.token) for key, value in args_kwargs['kwargs'].iteritems())} self.assertEquals( {'args': ('argvariable',), 'kwargs': {}}, args_kwargs_str )
def test_parse_tag_with_equals_in_kwarg_value(self): parser = template.Parser([]) token = template.Token(template.TOKEN_BLOCK, 'tag_name kwarg1="a=1"') args_kwargs = EasyNode.parse_to_args_kwargs(parser, token) args_kwargs_str = {'args': tuple([x.token for x in args_kwargs['args']]), 'kwargs': dict((key, value.token) for key, value in args_kwargs['kwargs'].iteritems())} self.assertEquals( {'args': (), 'kwargs': {'kwarg1': '"a=1"'}}, args_kwargs_str )
def test_node_applies_filters_to_variable_in_kwargs(self): parser = template.Parser([]) context = Context({'variable': "string1 string2"}) token = template.Token(template.TOKEN_BLOCK, 'tag_name arg1=variable|slugify|upper') args_kwargs = EasyNode.parse_to_args_kwargs(parser, token) node = MyEasyNode(args_kwargs) self.assertEquals( u'STRING1-STRING2', node.render(context), )
def test_parse_tag_with_args_and_kwargs(self): """ Tests if the parser recognizes one tag and parses its args and kwargs """ parser = template.Parser([]) token = template.Token(template.TOKEN_BLOCK, 'tag_name "arg1" kwarg1="1"') args_kwargs = EasyNode.parse_to_args_kwargs(parser, token) args_kwargs_str = {'args': tuple([x.token for x in args_kwargs['args']]), 'kwargs': dict((key, value.token) for key, value in args_kwargs['kwargs'].iteritems())} self.assertEquals( {'args': ('"arg1"',), 'kwargs': {'kwarg1': '"1"'}}, args_kwargs_str )