Mercurial > wikked
diff tests/test_resolver.py @ 84:ca57fef14d04
Formatter/resolver changes:
- Formatting is done after resolving.
- Resolving includes passing text through the template engine.
- Using Jinja2 for templating now.
- Added unit tests.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Wed, 03 Apr 2013 23:30:23 -0700 |
parents | 65f83a9b42f1 |
children | ebb12ff21cb2 |
line wrap: on
line diff
--- a/tests/test_resolver.py Sun Mar 24 22:06:50 2013 -0700 +++ b/tests/test_resolver.py Wed Apr 03 23:30:23 2013 -0700 @@ -13,7 +13,7 @@ self.assertEqual( "A test page.\n%s" % format_include('trans-desc'), foo._getFormattedText()) - self.assertEqual("A test page.\nBLAH\n\n", foo.text) + self.assertEqual("A test page.\nBLAH", foo.text) def testPageIncludeWithMeta(self): self.wiki = self._getWikiFromStructure({ @@ -27,7 +27,7 @@ "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), + "A test page.\nBLAH: %s\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) @@ -41,18 +41,29 @@ 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) + self.assertEqual("A test page.\nHello Dave, would you like a drink?", foo.text) def testPageIncludeWithNumberedTemplating(self): self.wiki = self._getWikiFromStructure({ 'Foo.txt': "A test page.\n{{include: greeting|Dave|Roger|Tom}}\n", - 'Greeting.txt': "Hello {{1}}, {{2}} and {{3}}." + 'Greeting.txt': "Hello {{__args[0]}}, {{__args[1]}} and {{__args[2]}}." }) foo = Page(self.wiki, 'foo') self.assertEqual( "A test page.\n%s" % format_include('greeting', 'Dave|Roger|Tom'), foo._getFormattedText()) - self.assertEqual("A test page.\nHello Dave, Roger and Tom.\n", foo.text) + self.assertEqual("A test page.\nHello Dave, Roger and Tom.", foo.text) + + def testIncludeWithPageReferenceTemplating(self): + self.wiki =self._getWikiFromStructure({ + 'SelfRef.txt': "Here is {{read_url(__page.url, __page.title)}}!", + 'Foo.txt': "Hello here.\n{{include: selfref}}\n" + }) + foo = Page(self.wiki, 'foo') + self.assertEqual( + 'Hello here.\nHere is <a class="wiki-link" data-wiki-url="foo">Foo</a>!', + foo.text + ) def testGivenOnlyInclude(self): self.wiki = self._getWikiFromStructure({ @@ -64,9 +75,9 @@ self.assertEqual( "TEMPLATE!\n%s" % format_include('template-2', mod='+'), tpl1._getFormattedText()) - self.assertEqual("TEMPLATE!\n\n", tpl1.text) + self.assertEqual("TEMPLATE!\n", tpl1.text) base = Page(self.wiki, 'base') - self.assertEqual("The base page.\nTEMPLATE!\nMORE TEMPLATE!\n\n", base.text) + self.assertEqual("The base page.\nTEMPLATE!\nMORE TEMPLATE!", base.text) def testDoublePageIncludeWithMeta(self): return @@ -80,7 +91,7 @@ }) base = Page(self.wiki, 'base') self.assertEqual({ - 'foo': ['bar'], + 'foo': ['bar'], 'category': ['blah', 'yolo'] }, base.meta) tpl1 = Page(self.wiki, 'template-1')