Edgewall Software

Ticket #192: join_unit_tests.patch

File join_unit_tests.patch, 2.0 KB (added by Martin Scharrer <martin@…>, 13 years ago)

Some unit tests for patch attachment:fragment_join__genshi_0.6.patch

  • genshi/tests/builder.py

    old new  
    1414import doctest
    1515import unittest
    1616
    17 from genshi.builder import Element, tag
     17from genshi.builder import Element, tag, Fragment
    1818from genshi.core import Attrs, Markup, Stream
    1919from genshi.input import XML
    2020
     
    6464                                   'genshi</a>'))
    6565
    6666
     67class FragmentTestCase(unittest.TestCase):
     68
     69    def test_join_with_fragment(self):
     70        tags = [tag.span('test'),tag(','),tag.p(tag.span('A'),tag.span('B')),
     71                tag(','),tag('text')]
     72        self.assertEqual(
     73            unicode(tag(',').join([tags[0],tags[2],tags[4]]).generate()),
     74            unicode(tag(tags).generate()) )
     75
     76    def test_join_with_element(self):
     77        tags = [tag.span('test'),tag.b(','),tag.p(tag.span('A'),tag.span('B')),
     78                tag.b(','),tag('text')]
     79        self.assertEqual(
     80            unicode(tag.b(',').join([tags[0],tags[2],tags[4]]).generate()),
     81            unicode(tag(tags).generate()) )
     82
     83    def test_join_empty_list(self):
     84        self.assertEqual(
     85            unicode(tag(',').join([]).generate()),
     86            unicode(Fragment().generate()))
     87        self.assertEqual(
     88            unicode(tag.b(',').join([]).generate()),
     89            unicode(Fragment().generate()))
     90
     91    def test_join_list_one_element(self):
     92        self.assertEqual(
     93            unicode(tag(',').join([tag.div('test')]).generate()),
     94            unicode(tag.div('test').generate()))
     95        self.assertEqual(
     96            unicode(tag.b(',').join([tag.div('test')]).generate()),
     97            unicode(tag.div('test').generate()))
     98
     99
    67100def suite():
    68101    suite = unittest.TestSuite()
    69102    suite.addTest(doctest.DocTestSuite(Element.__module__))
    70103    suite.addTest(unittest.makeSuite(ElementFactoryTestCase, 'test'))
     104    suite.addTest(unittest.makeSuite(FragmentTestCase, 'test'))
    71105    return suite
    72106
    73107