aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Christie2013-06-27 11:58:34 +0100
committerTom Christie2013-06-27 11:58:34 +0100
commit96f41fd12d376833a5822918cedcec5e74d59d02 (patch)
treec30ece66827ccc715f522fe7847a75a0518df19e
parent4d22a65e78432a2aa70ddc80395a014a7c9e299e (diff)
downloaddjango-rest-framework-96f41fd12d376833a5822918cedcec5e74d59d02.tar.bz2
Use imported views to expose python 2.6 bug. Refs #943
-rw-r--r--rest_framework/tests/description.py26
-rw-r--r--rest_framework/tests/test_description.py26
2 files changed, 29 insertions, 23 deletions
diff --git a/rest_framework/tests/description.py b/rest_framework/tests/description.py
new file mode 100644
index 00000000..b46d7f54
--- /dev/null
+++ b/rest_framework/tests/description.py
@@ -0,0 +1,26 @@
+# -- coding: utf-8 --
+
+# Apparently there is a python 2.6 issue where docstrings of imported view classes
+# do not retain their encoding information even if a module has a proper
+# encoding declaration at the top of its source file. Therefore for tests
+# to catch unicode related errors, a mock view has to be declared in a separate
+# module.
+
+from rest_framework.views import APIView
+
+
+# test strings snatched from http://www.columbia.edu/~fdc/utf8/,
+# http://winrus.com/utf8-jap.htm and memory
+UTF8_TEST_DOCSTRING = (
+ 'zażółć gęślą jaźń'
+ 'Sîne klâwen durh die wolken sint geslagen'
+ 'Τη γλώσσα μου έδωσαν ελληνική'
+ 'யாமறிந்த மொழிகளிலே தமிழ்மொழி'
+ 'На берегу пустынных волн'
+ 'てすと'
+ 'アイウエオカキクケコサシスセソタチツテ'
+)
+
+
+class ViewWithNonASCIICharactersInDocstring(APIView):
+ __doc__ = UTF8_TEST_DOCSTRING
diff --git a/rest_framework/tests/test_description.py b/rest_framework/tests/test_description.py
index ea4b2c3a..8019f5ec 100644
--- a/rest_framework/tests/test_description.py
+++ b/rest_framework/tests/test_description.py
@@ -2,8 +2,10 @@
from __future__ import unicode_literals
from django.test import TestCase
-from rest_framework.views import APIView
from rest_framework.compat import apply_markdown, smart_text
+from rest_framework.views import APIView
+from rest_framework.tests.description import ViewWithNonASCIICharactersInDocstring
+from rest_framework.tests.description import UTF8_TEST_DOCSTRING
from rest_framework.utils.formatting import get_view_name, get_view_description
# We check that docstrings get nicely un-indented.
@@ -49,28 +51,6 @@ MARKED_DOWN_gte_21 = """<h2 id="an-example-docstring">an example docstring</h2>
<h2 id="hash-style-header">hash style header</h2>"""
-# test strings snatched from http://www.columbia.edu/~fdc/utf8/,
-# http://winrus.com/utf8-jap.htm and memory
-UTF8_TEST_DOCSTRING = (
- 'zażółć gęślą jaźń'
- 'Sîne klâwen durh die wolken sint geslagen'
- 'Τη γλώσσα μου έδωσαν ελληνική'
- 'யாமறிந்த மொழிகளிலே தமிழ்மொழி'
- 'На берегу пустынных волн'
- 'てすと'
- 'アイウエオカキクケコサシスセソタチツテ'
-)
-
-
-# Apparently there is an issue where docstrings of imported view classes
-# do not retain their encoding information even if a module has a proper
-# encoding declaration at the top of its source file. Therefore for tests
-# to catch unicode related errors, a mock view has to be declared in a separate
-# module.
-class ViewWithNonASCIICharactersInDocstring(APIView):
- __doc__ = UTF8_TEST_DOCSTRING
-
-
class TestViewNamesAndDescriptions(TestCase):
def test_view_name_uses_class_name(self):
"""