def test_text_single(self):
     attrs = Djattrs()
     attrs.text('text one')
     self.assertEqual(
         str(attrs),
         'text one'
     )
 def test_args_single(self):
     attrs = Djattrs()
     attrs.vars('arg1')
     self.assertEqual(
         str(attrs),
         '{{ arg1 }}'
     )
 def test_arg_multiple(self):
     attrs = Djattrs()
     attrs.vars('arg1', 'arg2', 'arg3')
     self.assertEqual(
         str(attrs),
         '{{ arg1 }} {{ arg2 }} {{ arg3 }}'
     )
 def test_text_multiple(self):
     attrs = Djattrs()
     attrs.text('text one', 'text two')\
         .text('text three')
     self.assertEqual(
         str(attrs),
         'text one text two text three'
     )
 def test_dquote_multiple(self):
     attrs = Djattrs()
     attrs.dquote('arg1', 'arg2')\
         .dquote('arg3')\
         .dquote('arg4', 'arg5')
     self.assertEqual(
         str(attrs),
         '"arg1" "arg2" "arg3" "arg4" "arg5"'
     )
 def text(self, *args):
     """
     Appends the args to the document by the ``Djattrs`` constructor.
     :param args:
     :return:
     """
     self._doc._append(str(Djattrs(*args)))
    def test_reset_complex(self):
        attrs = Djattrs()
        attrs.dquote('dquote1', 'dquote2')\
            .vars('arg1', 'arg2')\
            .text('text1', 'text2')
        self.assertEquals(
            str(attrs), '"dquote1" "dquote2" {{ arg1 }} {{ arg2 }} text1 text2'
        )

        attrs.reset()

        self.assertEqual( str(attrs), '')
        attrs.dquote('dquote1', 'dquote2') \
            .vars('arg1', 'arg2') \
            .text('text1', 'text2')
        self.assertEquals(
            str(attrs), '"dquote1" "dquote2" {{ arg1 }} {{ arg2 }} text1 text2'
        )

        attrs.reset('new start')
        attrs.dquote('dquote1', 'dquote2') \
            .vars('arg1', 'arg2') \
            .text('text1', 'text2')
        self.assertEquals(
            str(attrs), 'new start "dquote1" "dquote2" {{ arg1 }} {{ arg2 }} text1 text2'
        )
 def test_dquote(self):
     attrs = Djattrs()
     attrs.dquote('arg1')
     self.assertEqual(str(attrs), '"arg1"')
 def test_constructor_complex(self):
     attrs = Djattrs('a', 'b', 'dq_', 'c', 'var_', 'd')
     self.assertEqual(str(attrs), 'a b "c" {{ d }}')
 def test_constructor_vars_prefix_complex(self):
     attrs = Djattrs('var_', 'a', 'vars_', 'vars_', 'vars_', 'b', '{{_}}', 'c')
     self.assertEqual(str(attrs), '{{ a }} {{ b }} {{ c }}')
 def test_constructor_vars_prefix_simple(self):
     attrs = Djattrs('{{ _ }}', 'a','b')
     self.assertEqual(str(attrs), '{{ a }} {{ b }}')
 def test_constructor_dq_prefix_complex(self):
     attrs = Djattrs('dq_', 'a', 'b', 'dq_', 'dqs_', 'c', '"_"', 'd')
     self.assertEqual(str(attrs), '"a" "b" "c" "d"')
 def test_constructor_dq_prefix_simple(self):
     attrs = Djattrs('"_"', 'a', 'b', 'c')
     self.assertEqual(str(attrs), '"a" "b" "c"')
 def test_constructor_text_prefix_complex(self):
     attrs = Djattrs('_', 'a', 'b', 'text_', 'c', 'd', 'txt_', 'e', 'f', '_', 'g')
     self.assertEqual(str(attrs), 'a b c d e f g')
 def test_constructor_text_prefix_simple(self):
     attrs = Djattrs('_', 'a','b','c')
     self.assertEquals(str(attrs), 'a b c')
 def if_(self, *args):
     return djtag(self._doc, Djattrs(*args), 'if', close_cmd='endif')
 def elif_(self, *args):
     return djtag(self._doc, Djattrs(*args), 'elif')
 def test_reset_simple(self):
     attrs = Djattrs()
     attrs.text('text one', 'text two', 'text three')
     self.assertEqual(str(attrs), 'text one text two text three')
     attrs.reset('reseted text')
     self.assertEqual(str(attrs), 'reseted text')
 def else_(self):
     return djtag(self._doc, Djattrs(), 'else')
 def block(self, name):
     return djtag(self._doc,
                  Djattrs(name),
                  'block',
                  close_cmd='endblock')
 def tag(self, tag, text):
     return djtag(self._doc, Djattrs(text), tag, close_cmd=f'end{tag}')
 def test_constructor_simple(self):
     attrs = Djattrs('a', 'b', 'c')
     self.assertEqual(str(attrs), 'a b c')
 def for_(self, *args):
     return djtag(self._doc, Djattrs(*args), 'for', close_cmd='endfor')