comparison tests/test_page.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
comparison
equal deleted inserted replaced
83:65f83a9b42f1 84:ca57fef14d04
7 self.wiki = self._getWikiFromStructure({ 7 self.wiki = self._getWikiFromStructure({
8 'foo.txt': 'A test page.' 8 'foo.txt': 'A test page.'
9 }) 9 })
10 page = Page(self.wiki, 'foo') 10 page = Page(self.wiki, 'foo')
11 self.assertEqual('foo', page.url) 11 self.assertEqual('foo', page.url)
12 self.assertEqual('foo.txt', page.path)
13 self.assertEqual('foo', page.filename)
14 self.assertEqual('txt', page.extension)
12 self.assertEqual('A test page.', page.raw_text) 15 self.assertEqual('A test page.', page.raw_text)
13 self.assertEqual('A test page.', page._getFormattedText()) 16 self.assertEqual('A test page.', page._getFormattedText())
14 self.assertEqual('foo', page.title) 17 self.assertEqual('foo', page.title)
15 self.assertEqual('A test page.', page.text) 18 self.assertEqual('A test page.', page.text)
16 self.assertEqual({}, page._getLocalMeta()) 19 self.assertEqual({}, page._getLocalMeta())
23 page = Page(self.wiki, 'foo') 26 page = Page(self.wiki, 'foo')
24 self.assertEqual('foo', page.url) 27 self.assertEqual('foo', page.url)
25 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{{bar: baz}}\n{{is_test: }}", page.raw_text)
26 self.assertEqual('A page with simple meta.\n\n', page._getFormattedText()) 29 self.assertEqual('A page with simple meta.\n\n', page._getFormattedText())
27 self.assertEqual('foo', page.title) 30 self.assertEqual('foo', page.title)
28 self.assertEqual('A page with simple meta.\n\n', page.text) 31 self.assertEqual('A page with simple meta.\n', page.text)
29 self.assertEqual({'bar': ['baz'], 'is_test': True}, page._getLocalMeta()) 32 self.assertEqual({'bar': ['baz'], 'is_test': True}, page._getLocalMeta())
30 self.assertEqual([], page._getLocalLinks()) 33 self.assertEqual([], page._getLocalLinks())
31 34
32 def testPageTitleMeta(self): 35 def testPageTitleMeta(self):
33 self.wiki = self._getWikiFromStructure({ 36 self.wiki = self._getWikiFromStructure({
36 page = Page(self.wiki, 'test_title') 39 page = Page(self.wiki, 'test_title')
37 self.assertEqual('test_title', page.url) 40 self.assertEqual('test_title', page.url)
38 self.assertEqual("A page with a custom title.\n{{title: TEST-TITLE}}", page.raw_text) 41 self.assertEqual("A page with a custom title.\n{{title: TEST-TITLE}}", page.raw_text)
39 self.assertEqual('A page with a custom title.\n', page._getFormattedText()) 42 self.assertEqual('A page with a custom title.\n', page._getFormattedText())
40 self.assertEqual('TEST-TITLE', page.title) 43 self.assertEqual('TEST-TITLE', page.title)
41 self.assertEqual('A page with a custom title.\n', page.text) 44 self.assertEqual('A page with a custom title.', page.text)
42 self.assertEqual({'title': ['TEST-TITLE']}, page._getLocalMeta()) 45 self.assertEqual({'title': ['TEST-TITLE']}, page._getLocalMeta())
43 self.assertEqual([], page._getLocalLinks()) 46 self.assertEqual([], page._getLocalLinks())
44 47
45 def testPageOutLinks(self): 48 def testPageOutLinks(self):
46 self.wiki = self._getWikiFromStructure({ 49 self.wiki = self._getWikiFromStructure({
81 'foo.txt': "URL: [[url:/blah/boo/image.png]]" 84 'foo.txt': "URL: [[url:/blah/boo/image.png]]"
82 }) 85 })
83 foo = Page(self.wiki, 'foo') 86 foo = Page(self.wiki, 'foo')
84 self.assertEqual("URL: /files/blah/boo/image.png", foo._getFormattedText()) 87 self.assertEqual("URL: /files/blah/boo/image.png", foo._getFormattedText())
85 88
89 def testUrlTemplateFunctions(self):
90 self.wiki =self._getWikiFromStructure({
91 'foo.txt': "Here is {{read_url(__page.url, 'FOO')}}!"
92 })
93 foo = Page(self.wiki, 'foo')
94 self.assertEqual(
95 'Here is <a class="wiki-link" data-wiki-url="foo">FOO</a>!',
96 foo.text
97 )