Mercurial > wikked
comparison tests/test_page.py @ 225:ebb12ff21cb2
Updated unit tests to be able to run.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Wed, 12 Mar 2014 23:02:40 -0700 |
parents | ca57fef14d04 |
children | be7275021f3a |
comparison
equal
deleted
inserted
replaced
224:d45450a0256a | 225:ebb12ff21cb2 |
---|---|
1 from tests import WikkedTest, format_link | 1 from tests import WikkedTest, format_link |
2 from wikked.page import Page | |
3 | 2 |
4 | 3 |
5 class PageTest(WikkedTest): | 4 class PageTest(WikkedTest): |
5 def _onWikiStarted(self, wiki): | |
6 wiki.reset() | |
7 | |
8 def _getParameters(self, root=None): | |
9 params = WikkedTest._getParameters(self, root) | |
10 return params | |
11 | |
6 def testSimplePage(self): | 12 def testSimplePage(self): |
7 self.wiki = self._getWikiFromStructure({ | 13 wiki = self._getWikiFromStructure({ |
8 'foo.txt': 'A test page.' | 14 '/foo.txt': 'A test page.' |
9 }) | 15 }) |
10 page = Page(self.wiki, 'foo') | 16 page = wiki.getPage('/foo') |
11 self.assertEqual('foo', page.url) | 17 self.assertEqual('/foo', page.url) |
12 self.assertEqual('foo.txt', page.path) | 18 self.assertEqual('/foo.txt', page.path) |
13 self.assertEqual('foo', page.filename) | 19 self.assertEqual('foo', page.filename) |
14 self.assertEqual('txt', page.extension) | 20 self.assertEqual('txt', page.extension) |
15 self.assertEqual('A test page.', page.raw_text) | 21 self.assertEqual('A test page.', page.raw_text) |
16 self.assertEqual('A test page.', page._getFormattedText()) | 22 self.assertEqual('A test page.', page.getFormattedText()) |
17 self.assertEqual('foo', page.title) | 23 self.assertEqual('foo', page.title) |
18 self.assertEqual('A test page.', page.text) | 24 self.assertEqual('A test page.', page.text) |
19 self.assertEqual({}, page._getLocalMeta()) | 25 self.assertEqual({}, page.getLocalMeta()) |
20 self.assertEqual([], page._getLocalLinks()) | 26 self.assertEqual([], page.getLocalLinks()) |
21 | 27 |
22 def testPageMeta(self): | 28 def testPageMeta(self): |
23 self.wiki = self._getWikiFromStructure({ | 29 wiki = self._getWikiFromStructure({ |
24 'foo.txt': "A page with simple meta.\n{{bar: baz}}\n{{is_test: }}" | 30 '/foo.txt': "A page with simple meta.\n{{bar: baz}}\n{{is_test: }}" |
25 }) | 31 }) |
26 page = Page(self.wiki, 'foo') | 32 page = wiki.getPage('/foo') |
27 self.assertEqual('foo', page.url) | 33 self.assertEqual('/foo', page.url) |
28 self.assertEqual("A page with simple meta.\n{{bar: baz}}\n{{is_test: }}", page.raw_text) | 34 self.assertEqual("A page with simple meta.\n{{bar: baz}}\n{{is_test: }}", page.raw_text) |
29 self.assertEqual('A page with simple meta.\n\n', page._getFormattedText()) | 35 self.assertEqual('A page with simple meta.\n\n', page.getFormattedText()) |
30 self.assertEqual('foo', page.title) | 36 self.assertEqual('foo', page.title) |
31 self.assertEqual('A page with simple meta.\n', page.text) | 37 self.assertEqual('A page with simple meta.\n', page.text) |
32 self.assertEqual({'bar': ['baz'], 'is_test': True}, page._getLocalMeta()) | 38 self.assertEqual({'bar': ['baz'], 'is_test': [True]}, page.getLocalMeta()) |
33 self.assertEqual([], page._getLocalLinks()) | 39 self.assertEqual([], page.getLocalLinks()) |
34 | 40 |
35 def testPageTitleMeta(self): | 41 def testPageTitleMeta(self): |
36 self.wiki = self._getWikiFromStructure({ | 42 wiki = self._getWikiFromStructure({ |
37 'test_title.txt': "A page with a custom title.\n{{title: TEST-TITLE}}" | 43 '/test_title.txt': "A page with a custom title.\n{{title: TEST-TITLE}}" |
38 }) | 44 }) |
39 page = Page(self.wiki, 'test_title') | 45 page = wiki.getPage('/test_title') |
40 self.assertEqual('test_title', page.url) | 46 self.assertEqual('/test_title', page.url) |
41 self.assertEqual("A page with a custom title.\n{{title: TEST-TITLE}}", page.raw_text) | 47 self.assertEqual("A page with a custom title.\n{{title: TEST-TITLE}}", page.raw_text) |
42 self.assertEqual('A page with a custom title.\n', page._getFormattedText()) | 48 self.assertEqual('A page with a custom title.\n', page.getFormattedText()) |
43 self.assertEqual('TEST-TITLE', page.title) | 49 self.assertEqual('TEST-TITLE', page.title) |
44 self.assertEqual('A page with a custom title.', page.text) | 50 self.assertEqual('A page with a custom title.', page.text) |
45 self.assertEqual({'title': ['TEST-TITLE']}, page._getLocalMeta()) | 51 self.assertEqual({'title': ['TEST-TITLE']}, page.getLocalMeta()) |
46 self.assertEqual([], page._getLocalLinks()) | 52 self.assertEqual([], page.getLocalLinks()) |
47 | 53 |
48 def testPageOutLinks(self): | 54 def testPageOutLinks(self): |
49 self.wiki = self._getWikiFromStructure({ | 55 wiki = self._getWikiFromStructure({ |
50 'test_links.txt': "Follow a link to the [[Sandbox]]. Or to [[this page|Other Sandbox]].", | 56 '/TestLinks.txt': "Follow a link to the [[Sandbox]]. Or to [[this page|Other Sandbox]].", |
51 'sandbox.txt': "This is just a placeholder." | 57 '/Sandbox.txt': "This is just a placeholder." |
52 }) | 58 }) |
53 self.assertTrue(self.wiki.pageExists('sandbox', from_db=False)) | 59 self.assertTrue(wiki.pageExists('/Sandbox')) |
54 page = Page(self.wiki, 'test_links') | 60 page = wiki.getPage('/TestLinks') |
55 self.assertEqual('test_links', page.url) | 61 self.assertEqual('/TestLinks', page.url) |
56 self.assertEqual("Follow a link to the [[Sandbox]]. Or to [[this page|Other Sandbox]].", page.raw_text) | 62 self.assertEqual("Follow a link to the [[Sandbox]]. Or to [[this page|Other Sandbox]].", page.raw_text) |
57 self.assertEqual( | 63 self.assertEqual( |
58 "Follow a link to the %s. Or to %s." % ( | 64 "Follow a link to the %s. Or to %s." % ( |
59 format_link('Sandbox', 'sandbox'), | 65 format_link('Sandbox', '/Sandbox'), |
60 format_link('this page', 'other-sandbox', True)), | 66 format_link('this page', '/Other Sandbox', missing=True)), |
61 page.text) | 67 page.text) |
62 self.assertEqual(set(['sandbox', 'other-sandbox']), set(page._getLocalLinks())) | 68 self.assertEqual(set(['Sandbox', 'Other Sandbox']), set(page.getLocalLinks())) |
69 self.assertEqual(set(['/Sandbox', '/Other Sandbox']), set(page.links)) | |
63 | 70 |
64 def testPageRelativeOutLinks(self): | 71 def testPageRelativeOutLinks(self): |
65 self.wiki = self._getWikiFromStructure({ | 72 wiki = self._getWikiFromStructure({ |
66 'first.txt': "Go to [[First Sibling]].", | 73 '/First.txt': "Go to [[First Sibling]].", |
67 'first-sibling.txt': "Go back to [[First]], or to [[sub_dir/Second]].", | 74 '/First Sibling.txt': "Go back to [[First]], or to [[sub_dir/Second]].", |
68 'sub_dir': { | 75 '/sub_dir/Second.txt': "Go back to [[../First]], or to [[Second Sibling]].", |
69 'second.txt': "Go back to [[../First]], or to [[Second Sibling]].", | 76 '/sub_dir/Second Sibling.txt': "Go back to [[Second]]." |
70 'second-sibling.txt': "Go back to [[Second]]." | |
71 } | |
72 }) | 77 }) |
73 first = Page(self.wiki, 'first') | 78 print str(list(wiki.getPageUrls())) |
74 self.assertEqual(['first-sibling'], first._getLocalLinks()) | 79 first = wiki.getPage('/First') |
75 first2 = Page(self.wiki, 'first-sibling') | 80 self.assertEqual(['/First Sibling'], first.links) |
76 self.assertEqual(['first', 'sub_dir/second'], first2._getLocalLinks()) | 81 first2 = wiki.getPage('/First Sibling') |
77 second = Page(self.wiki, 'sub_dir/second') | 82 self.assertEqual(['/First', '/sub_dir/Second'], first2.links) |
78 self.assertEqual(['first', 'sub_dir/second-sibling'], second._getLocalLinks()) | 83 second = wiki.getPage('/sub_dir/Second') |
79 second2 = Page(self.wiki, 'sub_dir/second-sibling') | 84 self.assertEqual(['/First', '/sub_dir/Second Sibling'], second.links) |
80 self.assertEqual(['sub_dir/second'], second2._getLocalLinks()) | 85 second2 = wiki.getPage('/sub_dir/Second Sibling') |
86 self.assertEqual(['/sub_dir/Second'], second2.links) | |
81 | 87 |
82 def testGenericUrl(self): | 88 def testGenericUrl(self): |
83 self.wiki = self._getWikiFromStructure({ | 89 wiki = self._getWikiFromStructure({ |
84 'foo.txt': "URL: [[url:/blah/boo/image.png]]" | 90 '/foo.txt': "URL: [[blah|url:/blah/boo/raw.txt]]" |
85 }) | 91 }) |
86 foo = Page(self.wiki, 'foo') | 92 foo = wiki.getPage('/foo') |
87 self.assertEqual("URL: /files/blah/boo/image.png", foo._getFormattedText()) | 93 self.assertEqual("URL: <a class=\"wiki-asset\" href=\"/files/blah/boo/raw.txt\">blah</a>", foo.getFormattedText()) |
94 | |
95 def testImageUrl(self): | |
96 wiki = self._getWikiFromStructure({ | |
97 '/foo.txt': "URL: [[blah|url:/blah/boo/image.png]]" | |
98 }) | |
99 foo = wiki.getPage('/foo') | |
100 self.assertEqual("URL: <img src=\"/files/blah/boo/image.png\" alt=\"blah\"></img>", foo.getFormattedText()) | |
88 | 101 |
89 def testUrlTemplateFunctions(self): | 102 def testUrlTemplateFunctions(self): |
90 self.wiki =self._getWikiFromStructure({ | 103 wiki =self._getWikiFromStructure({ |
91 'foo.txt': "Here is {{read_url(__page.url, 'FOO')}}!" | 104 '/foo.txt': "Here is {{read_url(__page.url, 'FOO')}}!" |
92 }) | 105 }) |
93 foo = Page(self.wiki, 'foo') | 106 foo = wiki.getPage('/foo') |
94 self.assertEqual( | 107 self.assertEqual( |
95 'Here is <a class="wiki-link" data-wiki-url="foo">FOO</a>!', | 108 'Here is <a class="wiki-link" data-wiki-url="/foo">FOO</a>!', |
96 foo.text | 109 foo.text |
97 ) | 110 ) |