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)
|
# 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
|
from django.core.template import Template, Context
|
||||||
import django.contrib.markup.templatetags.markup # this registers the filters
|
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
|
# simple examples 'cause this isn't actually testing the markup, just
|
||||||
# that the filters work as advertised
|
# that the filters work as advertised
|
||||||
|
|
||||||
|
### test textile
|
||||||
|
|
||||||
textile_content = """Paragraph 1
|
textile_content = """Paragraph 1
|
||||||
|
|
||||||
Paragraph 2 with "quotes" and @code@"""
|
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
|
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
|
rest_content = """Paragraph 1
|
||||||
|
|
||||||
|
@ -26,20 +58,10 @@ Paragraph 2 with a link_
|
||||||
|
|
||||||
.. _link: http://www.example.com/"""
|
.. _link: http://www.example.com/"""
|
||||||
|
|
||||||
t = Template("""{{ textile_content|textile }}
|
t = Template("{{ rest_content|restructuredtext }}")
|
||||||
----
|
rendered = t.render(Context(locals())).strip()
|
||||||
{{ markdown_content|markdown }}
|
if docutils:
|
||||||
----
|
assert rendered =="""<p>Paragraph 1</p>
|
||||||
{{ rest_content|restructuredtext }}""")
|
<p>Paragraph 2 with a <a class="reference" href="http://www.example.com/">link</a></p>"""
|
||||||
|
else:
|
||||||
rendered = t.render(Context(locals()))
|
assert rendered == rest_content
|
||||||
|
|
||||||
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>
|
|
||||||
<p>Paragraph 2 with a <a class="reference" href="http://www.example.com/">link</a></p>"""
|
|
Loading…
Reference in New Issue