Mercurial > genshi > mirror
comparison markup/tests/input.py @ 207:28bfc6aafab7 trunk
The `XMLParser` now correctly handles unicode input. Closes #43.
author | cmlenz |
---|---|
date | Tue, 29 Aug 2006 12:14:36 +0000 |
parents | d19e8a2c549e |
children | fc6b2fb66518 |
comparison
equal
deleted
inserted
replaced
206:75c9c019de88 | 207:28bfc6aafab7 |
---|---|
50 self.assertEqual(u'elem', tag) | 50 self.assertEqual(u'elem', tag) |
51 self.assertEqual((u'title', u'baz'), attrib[0]) | 51 self.assertEqual((u'title', u'baz'), attrib[0]) |
52 self.assertEqual((u'id', u'foo'), attrib[1]) | 52 self.assertEqual((u'id', u'foo'), attrib[1]) |
53 self.assertEqual((u'class', u'bar'), attrib[2]) | 53 self.assertEqual((u'class', u'bar'), attrib[2]) |
54 | 54 |
55 def test_unicode_input(self): | |
56 text = u'<div>\u2013</div>' | |
57 events = list(XMLParser(StringIO(text))) | |
58 kind, data, pos = events[1] | |
59 self.assertEqual(Stream.TEXT, kind) | |
60 self.assertEqual(u'\u2013', data) | |
61 | |
55 | 62 |
56 class HTMLParserTestCase(unittest.TestCase): | 63 class HTMLParserTestCase(unittest.TestCase): |
57 | 64 |
58 def test_text_node_pos_single_line(self): | 65 def test_text_node_pos_single_line(self): |
59 text = '<elem>foo bar</elem>' | 66 text = '<elem>foo bar</elem>' |
72 self.assertEqual(Stream.TEXT, kind) | 79 self.assertEqual(Stream.TEXT, kind) |
73 self.assertEqual(u'foo\nbar', data) | 80 self.assertEqual(u'foo\nbar', data) |
74 if sys.version_info[:2] >= (2, 4): | 81 if sys.version_info[:2] >= (2, 4): |
75 self.assertEqual((None, 1, 6), pos) | 82 self.assertEqual((None, 1, 6), pos) |
76 | 83 |
84 def test_unicode_input(self): | |
85 text = u'<div>\u2013</div>' | |
86 events = list(HTMLParser(StringIO(text))) | |
87 kind, data, pos = events[1] | |
88 self.assertEqual(Stream.TEXT, kind) | |
89 self.assertEqual(u'\u2013', data) | |
90 | |
77 | 91 |
78 def suite(): | 92 def suite(): |
79 suite = unittest.TestSuite() | 93 suite = unittest.TestSuite() |
80 suite.addTest(doctest.DocTestSuite(XMLParser.__module__)) | 94 suite.addTest(doctest.DocTestSuite(XMLParser.__module__)) |
81 suite.addTest(unittest.makeSuite(XMLParserTestCase, 'test')) | 95 suite.addTest(unittest.makeSuite(XMLParserTestCase, 'test')) |