Changed markup tests to not fail if required modules are not installed
git-svn-id: http://code.djangoproject.com/svn/django/trunk@483 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
8dac184adc
commit
6f4e6b4bcb
|
@ -1,24 +1,56 @@
|
|||
# Quick tests for the markup templatetags (django.contrib.markup)
|
||||
#
|
||||
# Requires that all supported markup modules be installed
|
||||
# (http://dealmeida.net/projects/textile/,
|
||||
# http://www.freewisdom.org/projects/python-markdown, and
|
||||
# http://docutils.sf.net/)
|
||||
|
||||
|
||||
from django.core.template import Template, Context
|
||||
import django.contrib.markup.templatetags.markup # this registers the filters
|
||||
|
||||
# find out if markup modules are installed and tailor the test appropriately
|
||||
try:
|
||||
import textile
|
||||
except ImportError:
|
||||
textile = None
|
||||
|
||||
try:
|
||||
import markdown
|
||||
except ImportError:
|
||||
markdown = None
|
||||
|
||||
try:
|
||||
import docutils
|
||||
except ImportError:
|
||||
docutils = None
|
||||
|
||||
# simple examples 'cause this isn't actually testing the markup, just
|
||||
# that the filters work as advertised
|
||||
|
||||
### test textile
|
||||
|
||||
textile_content = """Paragraph 1
|
||||
|
||||
Paragraph 2 with "quotes" and @code@"""
|
||||
|
||||
t = Template("{{ textile_content|textile }}")
|
||||
rendered = t.render(Context(locals())).strip()
|
||||
if textile:
|
||||
assert rendered == """<p>Paragraph 1</p>
|
||||
|
||||
<p>Paragraph 2 with “quotes” and <code>code</code></p>"""
|
||||
else:
|
||||
assert rendered == textile_content
|
||||
|
||||
### test markdown
|
||||
|
||||
markdown_content = """Paragraph 1
|
||||
|
||||
## An h2 with *italics*"""
|
||||
## An h2"""
|
||||
|
||||
t = Template("{{ markdown_content|markdown }}")
|
||||
rendered = t.render(Context(locals())).strip()
|
||||
if textile:
|
||||
assert rendered == """<p>Paragraph 1</p><h2>An h2</h2>"""
|
||||
else:
|
||||
assert rendered == markdown_content
|
||||
|
||||
### test rest
|
||||
|
||||
rest_content = """Paragraph 1
|
||||
|
||||
|
@ -26,20 +58,10 @@ Paragraph 2 with a link_
|
|||
|
||||
.. _link: http://www.example.com/"""
|
||||
|
||||
t = Template("""{{ textile_content|textile }}
|
||||
----
|
||||
{{ markdown_content|markdown }}
|
||||
----
|
||||
{{ rest_content|restructuredtext }}""")
|
||||
|
||||
rendered = t.render(Context(locals()))
|
||||
|
||||
assert rendered.strip() == """<p>Paragraph 1</p>
|
||||
|
||||
<p>Paragraph 2 with “quotes” and <code>code</code></p>
|
||||
----
|
||||
<p>Paragraph 1</p><h2>An h2 with *italics*</h2>
|
||||
|
||||
----
|
||||
<p>Paragraph 1</p>
|
||||
t = Template("{{ rest_content|restructuredtext }}")
|
||||
rendered = t.render(Context(locals())).strip()
|
||||
if docutils:
|
||||
assert rendered =="""<p>Paragraph 1</p>
|
||||
<p>Paragraph 2 with a <a class="reference" href="http://www.example.com/">link</a></p>"""
|
||||
else:
|
||||
assert rendered == rest_content
|
Loading…
Reference in New Issue