1
|
1 # -*- coding: utf-8 -*-
|
|
2 #
|
|
3 # Copyright (C) 2006 Christopher Lenz
|
|
4 # All rights reserved.
|
|
5 #
|
|
6 # This software is licensed as described in the file COPYING, which
|
|
7 # you should have received as part of this distribution. The terms
|
27
|
8 # are also available at http://markup.cmlenz.net/wiki/License.
|
1
|
9 #
|
|
10 # This software consists of voluntary contributions made by many
|
|
11 # individuals. For the exact contribution history, see the revision
|
27
|
12 # history and logs, available at http://markup.cmlenz.net/log/.
|
1
|
13
|
|
14 import doctest
|
|
15 from HTMLParser import HTMLParseError
|
|
16 import unittest
|
|
17
|
|
18 from markup.builder import Element, tag
|
|
19 from markup.core import Stream
|
|
20
|
|
21
|
|
22 class ElementFactoryTestCase(unittest.TestCase):
|
|
23
|
|
24 def test_link(self):
|
20
|
25 link = tag.a(href='#', title='Foo', accesskey=None)('Bar')
|
1
|
26 bits = iter(link.generate())
|
|
27 self.assertEqual((Stream.START, ('a', [('href', "#"), ('title', "Foo")]),
|
|
28 (-1, -1)), bits.next())
|
|
29 self.assertEqual((Stream.TEXT, u'Bar', (-1, -1)), bits.next())
|
|
30 self.assertEqual((Stream.END, 'a', (-1, -1)), bits.next())
|
|
31
|
|
32
|
|
33 def suite():
|
|
34 suite = unittest.TestSuite()
|
|
35 suite.addTest(doctest.DocTestSuite(Element.__module__))
|
|
36 suite.addTest(unittest.makeSuite(ElementFactoryTestCase, 'test'))
|
|
37 return suite
|
|
38
|
|
39 if __name__ == '__main__':
|
|
40 unittest.main(defaultTest='suite')
|