diff tests/test_page.py @ 83:65f83a9b42f1

Added support for numbered template parameters. Moved resolver code into its own file. Added unit tests.
author Ludovic Chabant <ludovic@chabant.com>
date Sun, 24 Mar 2013 22:06:50 -0700
parents 9afe4a1dbd1e
children ca57fef14d04
line wrap: on
line diff
--- a/tests/test_page.py	Tue Mar 19 19:54:11 2013 -0700
+++ b/tests/test_page.py	Sun Mar 24 22:06:50 2013 -0700
@@ -1,14 +1,8 @@
-from tests import WikkedTest, format_link, format_include
-from mock import MockFileSystem
+from tests import WikkedTest, format_link
 from wikked.page import Page
 
 
 class PageTest(WikkedTest):
-    def _getWikiFromStructure(self, structure):
-        wiki = self.getWiki(use_db=False, fs_factory=lambda cfg: MockFileSystem(structure))
-        wiki.start()
-        return wiki
-
     def testSimplePage(self):
         self.wiki = self._getWikiFromStructure({
             'foo.txt': 'A test page.'
@@ -89,91 +83,3 @@
         foo = Page(self.wiki, 'foo')
         self.assertEqual("URL: /files/blah/boo/image.png", foo._getFormattedText())
 
-    def testPageInclude(self):
-        self.wiki = self._getWikiFromStructure({
-            'Foo.txt': "A test page.\n{{include: trans-desc}}\n",
-            'Trans Desc.txt': "BLAH\n"
-            })
-        foo = Page(self.wiki, 'foo')
-        self.assertEqual({'include': ['trans-desc']}, foo._getLocalMeta())
-        self.assertEqual(
-                "A test page.\n%s" % format_include('trans-desc'),
-                foo._getFormattedText())
-        self.assertEqual("A test page.\nBLAH\n\n", foo.text)
-
-    def testPageIncludeWithMeta(self):
-        self.wiki = self._getWikiFromStructure({
-            'Foo.txt': "A test page.\n{{include: trans-desc}}\n",
-            'Trans Desc.txt': "BLAH: [[Somewhere]]\n{{bar: 42}}\n{{__secret: love}}\n{{+given: hope}}"
-            })
-        foo = Page(self.wiki, 'foo')
-        self.assertEqual([], foo._getLocalLinks())
-        self.assertEqual({'include': ['trans-desc']}, foo._getLocalMeta())
-        self.assertEqual(
-                "A test page.\n%s" % format_include('trans-desc'),
-                foo._getFormattedText())
-        self.assertEqual(
-                "A test page.\nBLAH: %s\n\n\n\n" % format_link('Somewhere', 'somewhere', True),
-                foo.text)
-        self.assertEqual(['somewhere'], foo.links)
-        self.assertEqual({'bar': ['42'], 'given': ['hope'], 'include': ['trans-desc']}, foo.meta)
-
-    def testPageIncludeWithTemplating(self):
-        self.wiki = self._getWikiFromStructure({
-            'Foo.txt': "A test page.\n{{include: greeting|name=Dave|what=drink}}\n",
-            'Greeting.txt': "Hello {{name}}, would you like a {{what}}?"
-            })
-        foo = Page(self.wiki, 'foo')
-        self.assertEqual(
-            "A test page.\n%s" % format_include('greeting', 'name=Dave|what=drink'),
-            foo._getFormattedText())
-        self.assertEqual("A test page.\nHello Dave, would you like a drink?\n", foo.text)
-
-    def testGivenOnlyInclude(self):
-        self.wiki = self._getWikiFromStructure({
-            'Base.txt': "The base page.\n{{include: Template 1}}",
-            'Template 1.txt': "TEMPLATE!\n{{+include: Template 2}}",
-            'Template 2.txt': "MORE TEMPLATE!"
-            })
-        tpl1 = Page(self.wiki, 'template-1')
-        self.assertEqual(
-                "TEMPLATE!\n%s" % format_include('template-2', mod='+'),
-                tpl1._getFormattedText())
-        self.assertEqual("TEMPLATE!\n\n", tpl1.text)
-        base = Page(self.wiki, 'base')
-        self.assertEqual("The base page.\nTEMPLATE!\nMORE TEMPLATE!\n\n", base.text)
-
-    def testDoublePageIncludeWithMeta(self):
-        return
-        self.wiki = self._getWikiFromStructure({
-            'Base.txt': "The base page.\n{{include: Template 1}}",
-            'Wrong.txt': "{{include: Template 2}}",
-            'Template 1.txt': "{{foo: bar}}\n{{+category: blah}}\n{{+include: Template 2}}\n{{__secret1: ssh}}",
-            'Template 2.txt': "{{+category: yolo}}",
-            'Query 1.txt': "{{query: category=yolo}}",
-            'Query 2.txt': "{{query: category=blah}}"
-            })
-        base = Page(self.wiki, 'base')
-        self.assertEqual({
-            'foo': ['bar'], 
-            'category': ['blah', 'yolo']
-            }, base.meta)
-        tpl1 = Page(self.wiki, 'template-1')
-        self.assertEqual({
-            'foo': ['bar'],
-            '+category': ['blah'],
-            '+include': ['template-2'],
-            '__secret': ['ssh']
-            }, tpl1.meta)
-        self.assertEqual(
-                "\n\n%s\n\n" % format_include('template-2'),
-                tpl1.text)
-        q1 = Page(self.wiki, 'query-1')
-        self.assertEqual(
-                "<ul>\n<li>%s</li>\n<li>%s</li>\n</ul>" % (format_link('Base', 'base'), format_link('Wrong', 'wrong')),
-                q1.text)
-        q2 = Page(self.wiki, 'query-2')
-        self.assertEqual(
-                "<ul>\n<li>%s</li>\n</ul>" % format_link('Base', 'base'),
-                q2.text)
-