comparison genshi/tests/builder.py @ 379:e1d659c87ddf trunk

The builder API now accepts streams as children of elements and fragments.
author cmlenz
date Thu, 23 Nov 2006 17:48:17 +0000
parents 2aa7ca37ae6a
children c66370dfc41b
comparison
equal deleted inserted replaced
378:873ca2a7ec05 379:e1d659c87ddf
15 from HTMLParser import HTMLParseError 15 from HTMLParser import HTMLParseError
16 import unittest 16 import unittest
17 17
18 from genshi.builder import Element, tag 18 from genshi.builder import Element, tag
19 from genshi.core import Attrs, Stream 19 from genshi.core import Attrs, Stream
20 from genshi.input import XML
20 21
21 22
22 class ElementFactoryTestCase(unittest.TestCase): 23 class ElementFactoryTestCase(unittest.TestCase):
23 24
24 def test_link(self): 25 def test_link(self):
39 event = iter(tag.foo(id=3)).next() 40 event = iter(tag.foo(id=3)).next()
40 self.assertEqual((Stream.START, ('foo', Attrs([('id', '3')])), 41 self.assertEqual((Stream.START, ('foo', Attrs([('id', '3')])),
41 (None, -1, -1)), 42 (None, -1, -1)),
42 event) 43 event)
43 44
45 def test_stream_as_child(self):
46 xml = list(tag.span(XML('<b>Foo</b>')).generate())
47 self.assertEqual(5, len(xml))
48 self.assertEqual((Stream.START, ('span', ()), (None, -1, -1)), xml[0])
49 self.assertEqual((Stream.START, ('b', ()), (None, 1, 0)), xml[1])
50 self.assertEqual((Stream.TEXT, 'Foo', (None, 1, 3)), xml[2])
51 self.assertEqual((Stream.END, 'b', (None, 1, 6)), xml[3])
52 self.assertEqual((Stream.END, 'span', (None, -1, -1)), xml[4])
53
44 54
45 def suite(): 55 def suite():
46 suite = unittest.TestSuite() 56 suite = unittest.TestSuite()
47 suite.addTest(doctest.DocTestSuite(Element.__module__)) 57 suite.addTest(doctest.DocTestSuite(Element.__module__))
48 suite.addTest(unittest.makeSuite(ElementFactoryTestCase, 'test')) 58 suite.addTest(unittest.makeSuite(ElementFactoryTestCase, 'test'))
Copyright (C) 2012-2017 Edgewall Software