OSDN Git Service

add wp_imgswap2.py for new OSDN Magazine
[otptools/otptools.git] / test_spyder.py
1 #!/usr/bin/env python\r
2 # -*- coding: utf-8 -*-\r
3 """Test suite for spyder.py."""\r
4 \r
5 import unittest\r
6 import os.path\r
7 import codecs\r
8 \r
9 import spyder\r
10 \r
11 \r
12 class TestSequenceFunctions(unittest.TestCase):\r
13     def setUp(self):\r
14         self.test_html = """<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"\r
15  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">\r
16 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"\r
17  lang="en" dir="ltr">\r
18 <head>\r
19   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />\r
20   <title>Spyder test HTML</title>\r
21   </head>\r
22 <body class='sidebar_inside_left'>\r
23 <form action="" method="post" >\r
24 <input type="hidden" name="sectok" value="d1edf02df0138c3a7307e24a371115e9" />\r
25 <input type="hidden" name="id" value="home" />\r
26 <input type="hidden" name="rev" value="" />\r
27 <input type="hidden" name="date" value="1239099312" />\r
28 <input type="hidden" name="prefix" value="" />\r
29 <input type="hidden" name="suffix" value="" />\r
30 <input type="hidden" name="changecheck" value="288b43989cd8dfa23319573916dfd16d" />\r
31 <textarea name="wikitext" id="wiki__text" class="edit" cols="80" rows="10" tabindex="1" >\r
32 This is text codes.\r
33 foo bar hoge hoge\r
34 </textarea>\r
35 </form>\r
36 <div class="footerinc">\r
37   <a  href="/wiki/feed.php" title="Recent changes RSS feed"><img src="/wiki/lib/tpl/sidebar/images/button-rss.png" width="80" height="15" alt="Recent changes RSS feed" /></a>\r
38         <a  href="http://creativecommons.org/licenses/by-nc-sa/3.0/" rel="license" title="CC Attribution-Noncommercial-Share Alike 3.0 Unported"><img src="/wiki/lib/images/license/button/cc-by-nc-sa.png" width="80" height="15" alt="" /></a>\r
39   <a  href="http://www.dokuwiki.org/donate" title="Donate"><img src="/wiki/lib/tpl/sidebar/images/button-donate.gif" alt="Donate" width="80" height="15" /></a>\r
40   <a  href="http://www.php.net" title="Powered by PHP"><img src="/wiki/lib/tpl/sidebar/images/button-php.gif" width="80" height="15" alt="Powered by PHP" /></a>\r
41   <a  href="http://validator.w3.org/check/referer" title="Valid XHTML 1.0"><img src="/wiki/lib/tpl/sidebar/images/button-xhtml.png" width="80" height="15" alt="Valid XHTML 1.0" /></a>\r
42   <a  href="http://jigsaw.w3.org/css-validator/check/referer?profile=css3" title="Valid CSS"><img src="/wiki/lib/tpl/sidebar/images/button-css.png" width="80" height="15" alt="Valid CSS" /></a>\r
43   <a  href="http://dokuwiki.org/" title="Driven by DokuWiki"><img src="/wiki/lib/tpl/sidebar/images/button-dw.png" width="80" height="15" alt="Driven by DokuWiki" /></a>\r
44   <a  href="hogehoge" title="hogehoge"><img src="/wiki/lib/tpl/sidebar/images/button-dw.png" width="80" height="15" alt="Driven by DokuWiki" /></a>\r
45 </div>\r
46 </body>\r
47 </html>\r
48 """\r
49 \r
50     def test_extract_anchors(self):\r
51         """test for AnchorParser"""\r
52 \r
53         ret_ok = ["http://ffdshow-tryout.sourceforge.net/wiki/feed.php",\r
54                   "http://creativecommons.org/licenses/by-nc-sa/3.0/",\r
55                   "http://www.dokuwiki.org/donate",\r
56                   "http://www.php.net",\r
57                   "http://validator.w3.org/check/referer",\r
58                   "http://jigsaw.w3.org/css-validator/check/referer?profile=css3",\r
59                   "http://dokuwiki.org/",\r
60                   "http://ffdshow-tryout.sourceforge.net/wiki/hogehoge"]\r
61         \r
62         p = spyder.AnchorParser()\r
63         ret = p.extract_anchors(self.test_html, "http://ffdshow-tryout.sourceforge.net/wiki/home")\r
64         self.assertEqual(len(ret), len(ret_ok))\r
65         ret.sort()\r
66         ret_ok.sort()\r
67         for index in range(len(ret)):\r
68             self.assertEqual(ret[index], ret_ok[index])\r
69 \r
70 \r
71 \r
72 # do unittest\r
73 suite = unittest.TestLoader().loadTestsFromTestCase(TestSequenceFunctions)\r
74 unittest.TextTestRunner(verbosity=2).run(suite)\r
75 \r