Mercurial > genshi > mirror
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')) |