annotate Lib/test/test_htmllib.py @ 79675:c0a2294de787 2.7

Issue #16199: Backport 2to3 typo fix from 3.2.
author Chris Jerdonek <chris.jerdonek@gmail.com>
date Thu, 11 Oct 2012 16:15:46 -0700
parents 614c84670c63
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
20262
de29c8e4de9b Non-failing test for SF bug #467059.
Fred Drake <fdrake@acm.org>
parents:
diff changeset
1 import formatter
de29c8e4de9b Non-failing test for SF bug #467059.
Fred Drake <fdrake@acm.org>
parents:
diff changeset
2 import unittest
de29c8e4de9b Non-failing test for SF bug #467059.
Fred Drake <fdrake@acm.org>
parents:
diff changeset
3
24364
aa0d2d51fbde Get rid of relative imports in all unittests. Now anything that
Barry Warsaw <barry@python.org>
parents: 20262
diff changeset
4 from test import test_support
47433
0bf08de339a0 Deprecate htmllib and sgmllib for 3.0.
Georg Brandl <georg@python.org>
parents: 28446
diff changeset
5 htmllib = test_support.import_module('htmllib', deprecated=True)
20262
de29c8e4de9b Non-failing test for SF bug #467059.
Fred Drake <fdrake@acm.org>
parents:
diff changeset
6
de29c8e4de9b Non-failing test for SF bug #467059.
Fred Drake <fdrake@acm.org>
parents:
diff changeset
7
de29c8e4de9b Non-failing test for SF bug #467059.
Fred Drake <fdrake@acm.org>
parents:
diff changeset
8 class AnchorCollector(htmllib.HTMLParser):
de29c8e4de9b Non-failing test for SF bug #467059.
Fred Drake <fdrake@acm.org>
parents:
diff changeset
9 def __init__(self, *args, **kw):
de29c8e4de9b Non-failing test for SF bug #467059.
Fred Drake <fdrake@acm.org>
parents:
diff changeset
10 self.__anchors = []
de29c8e4de9b Non-failing test for SF bug #467059.
Fred Drake <fdrake@acm.org>
parents:
diff changeset
11 htmllib.HTMLParser.__init__(self, *args, **kw)
de29c8e4de9b Non-failing test for SF bug #467059.
Fred Drake <fdrake@acm.org>
parents:
diff changeset
12
de29c8e4de9b Non-failing test for SF bug #467059.
Fred Drake <fdrake@acm.org>
parents:
diff changeset
13 def get_anchor_info(self):
de29c8e4de9b Non-failing test for SF bug #467059.
Fred Drake <fdrake@acm.org>
parents:
diff changeset
14 return self.__anchors
de29c8e4de9b Non-failing test for SF bug #467059.
Fred Drake <fdrake@acm.org>
parents:
diff changeset
15
de29c8e4de9b Non-failing test for SF bug #467059.
Fred Drake <fdrake@acm.org>
parents:
diff changeset
16 def anchor_bgn(self, *args):
de29c8e4de9b Non-failing test for SF bug #467059.
Fred Drake <fdrake@acm.org>
parents:
diff changeset
17 self.__anchors.append(args)
de29c8e4de9b Non-failing test for SF bug #467059.
Fred Drake <fdrake@acm.org>
parents:
diff changeset
18
28446
500f545a24f0 Patch #545300: Support marked sections.
Martin v. Löwis <martin@v.loewis.de>
parents: 24364
diff changeset
19 class DeclCollector(htmllib.HTMLParser):
500f545a24f0 Patch #545300: Support marked sections.
Martin v. Löwis <martin@v.loewis.de>
parents: 24364
diff changeset
20 def __init__(self, *args, **kw):
500f545a24f0 Patch #545300: Support marked sections.
Martin v. Löwis <martin@v.loewis.de>
parents: 24364
diff changeset
21 self.__decls = []
500f545a24f0 Patch #545300: Support marked sections.
Martin v. Löwis <martin@v.loewis.de>
parents: 24364
diff changeset
22 htmllib.HTMLParser.__init__(self, *args, **kw)
500f545a24f0 Patch #545300: Support marked sections.
Martin v. Löwis <martin@v.loewis.de>
parents: 24364
diff changeset
23
500f545a24f0 Patch #545300: Support marked sections.
Martin v. Löwis <martin@v.loewis.de>
parents: 24364
diff changeset
24 def get_decl_info(self):
500f545a24f0 Patch #545300: Support marked sections.
Martin v. Löwis <martin@v.loewis.de>
parents: 24364
diff changeset
25 return self.__decls
500f545a24f0 Patch #545300: Support marked sections.
Martin v. Löwis <martin@v.loewis.de>
parents: 24364
diff changeset
26
500f545a24f0 Patch #545300: Support marked sections.
Martin v. Löwis <martin@v.loewis.de>
parents: 24364
diff changeset
27 def unknown_decl(self, data):
500f545a24f0 Patch #545300: Support marked sections.
Martin v. Löwis <martin@v.loewis.de>
parents: 24364
diff changeset
28 self.__decls.append(data)
500f545a24f0 Patch #545300: Support marked sections.
Martin v. Löwis <martin@v.loewis.de>
parents: 24364
diff changeset
29
20262
de29c8e4de9b Non-failing test for SF bug #467059.
Fred Drake <fdrake@acm.org>
parents:
diff changeset
30
de29c8e4de9b Non-failing test for SF bug #467059.
Fred Drake <fdrake@acm.org>
parents:
diff changeset
31 class HTMLParserTestCase(unittest.TestCase):
de29c8e4de9b Non-failing test for SF bug #467059.
Fred Drake <fdrake@acm.org>
parents:
diff changeset
32 def test_anchor_collection(self):
de29c8e4de9b Non-failing test for SF bug #467059.
Fred Drake <fdrake@acm.org>
parents:
diff changeset
33 # See SF bug #467059.
de29c8e4de9b Non-failing test for SF bug #467059.
Fred Drake <fdrake@acm.org>
parents:
diff changeset
34 parser = AnchorCollector(formatter.NullFormatter(), verbose=1)
de29c8e4de9b Non-failing test for SF bug #467059.
Fred Drake <fdrake@acm.org>
parents:
diff changeset
35 parser.feed(
de29c8e4de9b Non-failing test for SF bug #467059.
Fred Drake <fdrake@acm.org>
parents:
diff changeset
36 """<a href='http://foo.org/' name='splat'> </a>
de29c8e4de9b Non-failing test for SF bug #467059.
Fred Drake <fdrake@acm.org>
parents:
diff changeset
37 <a href='http://www.python.org/'> </a>
de29c8e4de9b Non-failing test for SF bug #467059.
Fred Drake <fdrake@acm.org>
parents:
diff changeset
38 <a name='frob'> </a>
de29c8e4de9b Non-failing test for SF bug #467059.
Fred Drake <fdrake@acm.org>
parents:
diff changeset
39 """)
de29c8e4de9b Non-failing test for SF bug #467059.
Fred Drake <fdrake@acm.org>
parents:
diff changeset
40 parser.close()
66348
614c84670c63 Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 47433
diff changeset
41 self.assertEqual(parser.get_anchor_info(),
614c84670c63 Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 47433
diff changeset
42 [('http://foo.org/', 'splat', ''),
614c84670c63 Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 47433
diff changeset
43 ('http://www.python.org/', '', ''),
614c84670c63 Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 47433
diff changeset
44 ('', 'frob', ''),
614c84670c63 Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 47433
diff changeset
45 ])
20262
de29c8e4de9b Non-failing test for SF bug #467059.
Fred Drake <fdrake@acm.org>
parents:
diff changeset
46
28446
500f545a24f0 Patch #545300: Support marked sections.
Martin v. Löwis <martin@v.loewis.de>
parents: 24364
diff changeset
47 def test_decl_collection(self):
500f545a24f0 Patch #545300: Support marked sections.
Martin v. Löwis <martin@v.loewis.de>
parents: 24364
diff changeset
48 # See SF patch #545300
500f545a24f0 Patch #545300: Support marked sections.
Martin v. Löwis <martin@v.loewis.de>
parents: 24364
diff changeset
49 parser = DeclCollector(formatter.NullFormatter(), verbose=1)
500f545a24f0 Patch #545300: Support marked sections.
Martin v. Löwis <martin@v.loewis.de>
parents: 24364
diff changeset
50 parser.feed(
500f545a24f0 Patch #545300: Support marked sections.
Martin v. Löwis <martin@v.loewis.de>
parents: 24364
diff changeset
51 """<html>
500f545a24f0 Patch #545300: Support marked sections.
Martin v. Löwis <martin@v.loewis.de>
parents: 24364
diff changeset
52 <body>
500f545a24f0 Patch #545300: Support marked sections.
Martin v. Löwis <martin@v.loewis.de>
parents: 24364
diff changeset
53 hallo
500f545a24f0 Patch #545300: Support marked sections.
Martin v. Löwis <martin@v.loewis.de>
parents: 24364
diff changeset
54 <![if !supportEmptyParas]>&nbsp;<![endif]>
500f545a24f0 Patch #545300: Support marked sections.
Martin v. Löwis <martin@v.loewis.de>
parents: 24364
diff changeset
55 </body>
500f545a24f0 Patch #545300: Support marked sections.
Martin v. Löwis <martin@v.loewis.de>
parents: 24364
diff changeset
56 </html>
500f545a24f0 Patch #545300: Support marked sections.
Martin v. Löwis <martin@v.loewis.de>
parents: 24364
diff changeset
57 """)
500f545a24f0 Patch #545300: Support marked sections.
Martin v. Löwis <martin@v.loewis.de>
parents: 24364
diff changeset
58 parser.close()
66348
614c84670c63 Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 47433
diff changeset
59 self.assertEqual(parser.get_decl_info(),
614c84670c63 Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 47433
diff changeset
60 ["if !supportEmptyParas",
614c84670c63 Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 47433
diff changeset
61 "endif"
614c84670c63 Merged revisions 86596 via svnmerge from
Ezio Melotti <ezio.melotti@gmail.com>
parents: 47433
diff changeset
62 ])
20262
de29c8e4de9b Non-failing test for SF bug #467059.
Fred Drake <fdrake@acm.org>
parents:
diff changeset
63
de29c8e4de9b Non-failing test for SF bug #467059.
Fred Drake <fdrake@acm.org>
parents:
diff changeset
64 def test_main():
de29c8e4de9b Non-failing test for SF bug #467059.
Fred Drake <fdrake@acm.org>
parents:
diff changeset
65 test_support.run_unittest(HTMLParserTestCase)
de29c8e4de9b Non-failing test for SF bug #467059.
Fred Drake <fdrake@acm.org>
parents:
diff changeset
66
de29c8e4de9b Non-failing test for SF bug #467059.
Fred Drake <fdrake@acm.org>
parents:
diff changeset
67
de29c8e4de9b Non-failing test for SF bug #467059.
Fred Drake <fdrake@acm.org>
parents:
diff changeset
68 if __name__ == "__main__":
de29c8e4de9b Non-failing test for SF bug #467059.
Fred Drake <fdrake@acm.org>
parents:
diff changeset
69 test_main()