Mercurial > wikked
comparison tests/test_page.py @ 51:2733871775cd
More unit tests.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Thu, 31 Jan 2013 12:28:10 -0800 |
parents | |
children | c4e999f55ba9 |
comparison
equal
deleted
inserted
replaced
50:350f7f084028 | 51:2733871775cd |
---|---|
1 from tests import WikkedTest | |
2 from mock import MockFileSystem | |
3 from wikked.page import Page | |
4 | |
5 | |
6 class PageTest(WikkedTest): | |
7 def testSimplePage(self): | |
8 self.wiki = self._getWikiFromStructure({ | |
9 'foo.txt': 'A test page.' | |
10 }) | |
11 page = Page(self.wiki, 'foo') | |
12 self.assertEqual('foo', page.url) | |
13 self.assertEqual('A test page.', page.raw_text) | |
14 self.assertEqual('A test page.', page.formatted_text) | |
15 self.assertEqual('foo', page.title) | |
16 self.assertEqual('A test page.', page.text) | |
17 self.assertEqual({}, page.local_meta) | |
18 self.assertEqual([], page.local_links) | |
19 self.assertEqual([], page.local_includes) | |
20 | |
21 def testPageMeta(self): | |
22 self.wiki = self._getWikiFromStructure({ | |
23 'foo.txt': "A page with simple meta.\n{{bar: baz}}\n{{is_test: }}" | |
24 }) | |
25 page = Page(self.wiki, 'foo') | |
26 self.assertEqual('foo', page.url) | |
27 self.assertEqual("A page with simple meta.\n{{bar: baz}}\n{{is_test: }}", page.raw_text) | |
28 self.assertEqual('A page with simple meta.\n\n', page.formatted_text) | |
29 self.assertEqual('foo', page.title) | |
30 self.assertEqual('A page with simple meta.\n\n', page.text) | |
31 self.assertEqual({'bar': 'baz', 'is_test': True}, page.local_meta) | |
32 self.assertEqual([], page.local_links) | |
33 self.assertEqual([], page.local_includes) | |
34 | |
35 def testPageTitleMeta(self): | |
36 self.wiki = self._getWikiFromStructure({ | |
37 'test_title.txt': "A page with a custom title.\n{{title: TEST-TITLE}}" | |
38 }) | |
39 page = Page(self.wiki, 'test_title') | |
40 self.assertEqual('test_title', page.url) | |
41 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.formatted_text) | |
43 self.assertEqual('TEST-TITLE', page.title) | |
44 self.assertEqual('A page with a custom title.\n', page.text) | |
45 self.assertEqual({'title': 'TEST-TITLE'}, page.local_meta) | |
46 self.assertEqual([], page.local_links) | |
47 self.assertEqual([], page.local_includes) | |
48 | |
49 def testPageOutLinks(self): | |
50 self.wiki = self._getWikiFromStructure({ | |
51 'test_links.txt': "Follow a link to the [[Sandbox]]. Or to [[this page|Other Sandbox]].", | |
52 'sandbox.txt': "This is just a placeholder." | |
53 }) | |
54 self.assertTrue(self.wiki.pageExists('sandbox', from_db=False)) | |
55 page = Page(self.wiki, 'test_links') | |
56 self.assertEqual('test_links', page.url) | |
57 self.assertEqual("Follow a link to the [[Sandbox]]. Or to [[this page|Other Sandbox]].", page.raw_text) | |
58 self.assertEqual("Follow a link to the <a class=\"wiki-link\" data-wiki-url=\"sandbox\">Sandbox</a>. Or to <a class=\"wiki-link missing\" data-wiki-url=\"other-sandbox\">this page</a>.", page.formatted_text) | |
59 self.assertEqual(set(['sandbox', 'other-sandbox']), set(page.local_links)) | |
60 | |
61 def _getWikiFromStructure(self, structure): | |
62 wiki = self.getWiki(use_db=False, fs_factory=lambda cfg: MockFileSystem(structure)) | |
63 wiki.start() | |
64 return wiki | |
65 | |
66 def testPageRelativeOutLinks(self): | |
67 self.wiki = self._getWikiFromStructure({ | |
68 'first.txt': "Go to [[First Sibling]].", | |
69 'first-sibling.txt': "Go back to [[First]], or to [[sub_dir/Second]].", | |
70 'sub_dir': { | |
71 'second.txt': "Go back to [[../First]], or to [[Second Sibling]].", | |
72 'second-sibling.txt': "Go back to [[Second]]." | |
73 } | |
74 }) | |
75 first = Page(self.wiki, 'first') | |
76 self.assertEqual(['first-sibling'], first.local_links) | |
77 first2 = Page(self.wiki, 'first-sibling') | |
78 self.assertEqual(['first', 'sub_dir/second'], first2.local_links) | |
79 second = Page(self.wiki, 'sub_dir/second') | |
80 self.assertEqual(['first', 'sub_dir/second-sibling'], second.local_links) | |
81 second2 = Page(self.wiki, 'sub_dir/second-sibling') | |
82 self.assertEqual(['sub_dir/second'], second2.local_links) | |
83 |