1
# -*- coding: iso-8859-1 -*-
3
MoinMoin - MoinMoin.formatter.* Tests
5
@copyright: 2005 by MoinMoin:AlexanderSchremmer
6
@license: GNU GPL, see COPYING for details.
11
from MoinMoin.Page import Page
12
from MoinMoin import wikiutil
16
def testSyntaxReferenceDomXml(self):
19
formatter = wikiutil.importPlugin(self.request.cfg, "formatter", f_name, "Formatter")
20
except wikiutil.PluginAttributeError:
23
print "Formatting using %r" % formatter
24
self.formatPage("SyntaxReference", formatter)
27
def testSyntaxReferenceDocBook(self):
28
py.test.skip("docbook is broken")
30
from xml.dom import getDOMImplementation
31
dom = getDOMImplementation("4DOM")
33
# if we don't have 4suite installed, the docbook formatter would just raise an exception
34
py.test.skip("not testing docbook formatter because no 4suite installed")
36
f_name = 'text_docbook'
38
formatter = wikiutil.importPlugin(self.request.cfg, "formatter", f_name, "Formatter")
39
except wikiutil.PluginAttributeError:
42
print "Formatting using %r" % formatter
43
self.formatPage("HelpOnMoinWikiSyntax", formatter)
46
def testSyntaxReferenceOthers(self):
47
formatters = wikiutil.getPlugins("formatter", self.request.cfg)
49
# we have separate tests for those:
50
formatters.remove('text_docbook')
51
formatters.remove('dom_xml')
53
for f_name in formatters:
55
formatter = wikiutil.importPlugin(self.request.cfg, "formatter", f_name, "Formatter")
56
except wikiutil.PluginAttributeError:
59
print "Formatting using %r" % formatter
60
self.formatPage("SyntaxReference", formatter)
63
def formatPage(self, pagename, formatter):
64
"""Parse a page. Should not raise an exception if the API of the
69
page = Page(self.request, pagename, formatter=formatter)
70
self.request.formatter = page.formatter = formatter(self.request)
71
#page.formatter.setPage(page)
72
#page.hilite_re = None
74
return self.request.redirectedOutput(page.send_page, content_only=1)
77
class TestIdIdempotency:
78
def test_sanitize_to_id_idempotent(self):
79
def _verify(formatter, id):
80
origid = formatter.sanitize_to_id(id)
83
id = formatter.sanitize_to_id(id)
86
formatters = wikiutil.getPlugins("formatter", self.request.cfg)
88
from xml.dom import getDOMImplementation
89
dom = getDOMImplementation("4DOM")
91
# if we don't have 4suite installed, the docbook formatter would just raise an exception
92
formatters.remove('text_docbook')
95
r"tho/zeequeen&angu\za",
96
r"quuirahz\iphohsaij,i",
97
r"ashuifa+it[ohchieque",
98
r"ohyie-lakoo`duaghaib",
99
r"eixaepumuqu[ie\ba|eh",
100
r"theegieque;zahmeitie",
101
r"pahcooje&rahkeiz$oez",
102
r"ohjeeng*iequao%fai?p",
103
r"ahfoodahmepooquepee;",
104
r"ubed_aex;ohwebeixah%",
105
r"eitiekicaejuelae=g^u",
111
u'\xf6\xf6llasdf\xe4',
114
for f_name in formatters:
116
formatter = wikiutil.importPlugin(self.request.cfg, "formatter",
118
f = formatter(self.request)
121
except wikiutil.PluginAttributeError:
124
coverage_modules = ['MoinMoin.formatter',
125
'MoinMoin.formatter.text_html',
126
'MoinMoin.formatter.text_gedit',
127
'MoinMoin.formatter.text_xml',
128
'MoinMoin.formatter.text_docbook',
129
'MoinMoin.formatter.text_plain',
130
'MoinMoin.formatter.dom_xml',
131
'MoinMoin.formatter.text_python',
132
'MoinMoin.formatter.pagelinks',