Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

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
  • Loading branch information...
commit 6f4e6b4bcbdb79e8aceac1af9ac66088d66c51b0 1 parent 8dac184
@jacobian jacobian authored
Showing with 46 additions and 24 deletions.
  1. +46 −24 tests/othertests/markup.py
View
70 tests/othertests/markup.py
@@ -1,45 +1,67 @@
# 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@"""
-markdown_content = """Paragraph 1
+t = Template("{{ textile_content|textile }}")
+rendered = t.render(Context(locals())).strip()
+if textile:
+ assert rendered == """<p>Paragraph 1</p>
-## An h2 with *italics*"""
+<p>Paragraph 2 with &#8220;quotes&#8221; and <code>code</code></p>"""
+else:
+ assert rendered == textile_content
+
+### test markdown
-rest_content = """Paragraph 1
+markdown_content = """Paragraph 1
-Paragraph 2 with a link_
+## An h2"""
-.. _link: http://www.example.com/"""
+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
-t = Template("""{{ textile_content|textile }}
-----
-{{ markdown_content|markdown }}
-----
-{{ rest_content|restructuredtext }}""")
+### test rest
-rendered = t.render(Context(locals()))
+rest_content = """Paragraph 1
-assert rendered.strip() == """<p>Paragraph 1</p>
+Paragraph 2 with a link_
-<p>Paragraph 2 with &#8220;quotes&#8221; and <code>code</code></p>
-----
-<p>Paragraph 1</p><h2>An h2 with *italics*</h2>
+.. _link: http://www.example.com/"""
-----
-<p>Paragraph 1</p>
-<p>Paragraph 2 with a <a class="reference" href="http://www.example.com/">link</a></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
Please sign in to comment.
Something went wrong with that request. Please try again.