Mercurial > cpython-lru_cache-weakref
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 |
| 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]> <![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() |
