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
             )