Mercurial > wikked
diff 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 |
line wrap: on
line diff
--- a/tests/test_page.py Mon Mar 10 16:47:21 2014 -0700 +++ b/tests/test_page.py Wed Mar 12 23:02:40 2014 -0700 @@ -1,97 +1,110 @@ from tests import WikkedTest, format_link -from wikked.page import Page class PageTest(WikkedTest): + def _onWikiStarted(self, wiki): + wiki.reset() + + def _getParameters(self, root=None): + params = WikkedTest._getParameters(self, root) + return params + def testSimplePage(self): - self.wiki = self._getWikiFromStructure({ - 'foo.txt': 'A test page.' + wiki = self._getWikiFromStructure({ + '/foo.txt': 'A test page.' }) - page = Page(self.wiki, 'foo') - self.assertEqual('foo', page.url) - self.assertEqual('foo.txt', page.path) + page = wiki.getPage('/foo') + self.assertEqual('/foo', page.url) + self.assertEqual('/foo.txt', page.path) self.assertEqual('foo', page.filename) self.assertEqual('txt', page.extension) self.assertEqual('A test page.', page.raw_text) - self.assertEqual('A test page.', page._getFormattedText()) + self.assertEqual('A test page.', page.getFormattedText()) self.assertEqual('foo', page.title) self.assertEqual('A test page.', page.text) - self.assertEqual({}, page._getLocalMeta()) - self.assertEqual([], page._getLocalLinks()) + self.assertEqual({}, page.getLocalMeta()) + self.assertEqual([], page.getLocalLinks()) def testPageMeta(self): - self.wiki = self._getWikiFromStructure({ - 'foo.txt': "A page with simple meta.\n{{bar: baz}}\n{{is_test: }}" + wiki = self._getWikiFromStructure({ + '/foo.txt': "A page with simple meta.\n{{bar: baz}}\n{{is_test: }}" }) - page = Page(self.wiki, 'foo') - self.assertEqual('foo', page.url) + page = wiki.getPage('/foo') + self.assertEqual('/foo', page.url) self.assertEqual("A page with simple meta.\n{{bar: baz}}\n{{is_test: }}", page.raw_text) - self.assertEqual('A page with simple meta.\n\n', page._getFormattedText()) + self.assertEqual('A page with simple meta.\n\n', page.getFormattedText()) self.assertEqual('foo', page.title) self.assertEqual('A page with simple meta.\n', page.text) - self.assertEqual({'bar': ['baz'], 'is_test': True}, page._getLocalMeta()) - self.assertEqual([], page._getLocalLinks()) + self.assertEqual({'bar': ['baz'], 'is_test': [True]}, page.getLocalMeta()) + self.assertEqual([], page.getLocalLinks()) def testPageTitleMeta(self): - self.wiki = self._getWikiFromStructure({ - 'test_title.txt': "A page with a custom title.\n{{title: TEST-TITLE}}" + wiki = self._getWikiFromStructure({ + '/test_title.txt': "A page with a custom title.\n{{title: TEST-TITLE}}" }) - page = Page(self.wiki, 'test_title') - self.assertEqual('test_title', page.url) + page = wiki.getPage('/test_title') + self.assertEqual('/test_title', page.url) self.assertEqual("A page with a custom title.\n{{title: TEST-TITLE}}", page.raw_text) - self.assertEqual('A page with a custom title.\n', page._getFormattedText()) + self.assertEqual('A page with a custom title.\n', page.getFormattedText()) self.assertEqual('TEST-TITLE', page.title) self.assertEqual('A page with a custom title.', page.text) - self.assertEqual({'title': ['TEST-TITLE']}, page._getLocalMeta()) - self.assertEqual([], page._getLocalLinks()) + self.assertEqual({'title': ['TEST-TITLE']}, page.getLocalMeta()) + self.assertEqual([], page.getLocalLinks()) def testPageOutLinks(self): - self.wiki = self._getWikiFromStructure({ - 'test_links.txt': "Follow a link to the [[Sandbox]]. Or to [[this page|Other Sandbox]].", - 'sandbox.txt': "This is just a placeholder." + wiki = self._getWikiFromStructure({ + '/TestLinks.txt': "Follow a link to the [[Sandbox]]. Or to [[this page|Other Sandbox]].", + '/Sandbox.txt': "This is just a placeholder." }) - self.assertTrue(self.wiki.pageExists('sandbox', from_db=False)) - page = Page(self.wiki, 'test_links') - self.assertEqual('test_links', page.url) + self.assertTrue(wiki.pageExists('/Sandbox')) + page = wiki.getPage('/TestLinks') + self.assertEqual('/TestLinks', page.url) self.assertEqual("Follow a link to the [[Sandbox]]. Or to [[this page|Other Sandbox]].", page.raw_text) self.assertEqual( "Follow a link to the %s. Or to %s." % ( - format_link('Sandbox', 'sandbox'), - format_link('this page', 'other-sandbox', True)), + format_link('Sandbox', '/Sandbox'), + format_link('this page', '/Other Sandbox', missing=True)), page.text) - self.assertEqual(set(['sandbox', 'other-sandbox']), set(page._getLocalLinks())) + self.assertEqual(set(['Sandbox', 'Other Sandbox']), set(page.getLocalLinks())) + self.assertEqual(set(['/Sandbox', '/Other Sandbox']), set(page.links)) def testPageRelativeOutLinks(self): - self.wiki = self._getWikiFromStructure({ - 'first.txt': "Go to [[First Sibling]].", - 'first-sibling.txt': "Go back to [[First]], or to [[sub_dir/Second]].", - 'sub_dir': { - 'second.txt': "Go back to [[../First]], or to [[Second Sibling]].", - 'second-sibling.txt': "Go back to [[Second]]." - } + wiki = self._getWikiFromStructure({ + '/First.txt': "Go to [[First Sibling]].", + '/First Sibling.txt': "Go back to [[First]], or to [[sub_dir/Second]].", + '/sub_dir/Second.txt': "Go back to [[../First]], or to [[Second Sibling]].", + '/sub_dir/Second Sibling.txt': "Go back to [[Second]]." }) - first = Page(self.wiki, 'first') - self.assertEqual(['first-sibling'], first._getLocalLinks()) - first2 = Page(self.wiki, 'first-sibling') - self.assertEqual(['first', 'sub_dir/second'], first2._getLocalLinks()) - second = Page(self.wiki, 'sub_dir/second') - self.assertEqual(['first', 'sub_dir/second-sibling'], second._getLocalLinks()) - second2 = Page(self.wiki, 'sub_dir/second-sibling') - self.assertEqual(['sub_dir/second'], second2._getLocalLinks()) + print str(list(wiki.getPageUrls())) + first = wiki.getPage('/First') + self.assertEqual(['/First Sibling'], first.links) + first2 = wiki.getPage('/First Sibling') + self.assertEqual(['/First', '/sub_dir/Second'], first2.links) + second = wiki.getPage('/sub_dir/Second') + self.assertEqual(['/First', '/sub_dir/Second Sibling'], second.links) + second2 = wiki.getPage('/sub_dir/Second Sibling') + self.assertEqual(['/sub_dir/Second'], second2.links) def testGenericUrl(self): - self.wiki = self._getWikiFromStructure({ - 'foo.txt': "URL: [[url:/blah/boo/image.png]]" + wiki = self._getWikiFromStructure({ + '/foo.txt': "URL: [[blah|url:/blah/boo/raw.txt]]" }) - foo = Page(self.wiki, 'foo') - self.assertEqual("URL: /files/blah/boo/image.png", foo._getFormattedText()) + foo = wiki.getPage('/foo') + self.assertEqual("URL: <a class=\"wiki-asset\" href=\"/files/blah/boo/raw.txt\">blah</a>", foo.getFormattedText()) + + def testImageUrl(self): + wiki = self._getWikiFromStructure({ + '/foo.txt': "URL: [[blah|url:/blah/boo/image.png]]" + }) + foo = wiki.getPage('/foo') + self.assertEqual("URL: <img src=\"/files/blah/boo/image.png\" alt=\"blah\"></img>", foo.getFormattedText()) def testUrlTemplateFunctions(self): - self.wiki =self._getWikiFromStructure({ - 'foo.txt': "Here is {{read_url(__page.url, 'FOO')}}!" + wiki =self._getWikiFromStructure({ + '/foo.txt': "Here is {{read_url(__page.url, 'FOO')}}!" }) - foo = Page(self.wiki, 'foo') + foo = wiki.getPage('/foo') self.assertEqual( - 'Here is <a class="wiki-link" data-wiki-url="foo">FOO</a>!', + 'Here is <a class="wiki-link" data-wiki-url="/foo">FOO</a>!', foo.text )