diff options
| author | Igor Kalat | 2013-06-26 22:12:02 +0200 | 
|---|---|---|
| committer | Igor Kalat | 2013-06-26 22:12:02 +0200 | 
| commit | c8b0e6c40f6bcf447aa539ff98b9985aa53032ce (patch) | |
| tree | 68568ce75703347d503e39d525baf0e2c800c6c9 /rest_framework/tests | |
| parent | 2bf5f6305030d5ebbd5a8a0fd5c31586c08a558d (diff) | |
| download | django-rest-framework-c8b0e6c40f6bcf447aa539ff98b9985aa53032ce.tar.bz2 | |
Refactored get_view_description, moved appropriate tests to test_description.py
Diffstat (limited to 'rest_framework/tests')
| -rw-r--r-- | rest_framework/tests/test_description.py | 13 | ||||
| -rw-r--r-- | rest_framework/tests/test_utils.py | 36 | ||||
| -rw-r--r-- | rest_framework/tests/views.py | 25 | 
3 files changed, 32 insertions, 42 deletions
diff --git a/rest_framework/tests/test_description.py b/rest_framework/tests/test_description.py index 52c1a34c..bc86e106 100644 --- a/rest_framework/tests/test_description.py +++ b/rest_framework/tests/test_description.py @@ -3,8 +3,10 @@  from __future__ import unicode_literals  from django.test import TestCase  from rest_framework.views import APIView -from rest_framework.compat import apply_markdown +from rest_framework.compat import apply_markdown, smart_text  from rest_framework.utils.formatting import get_view_name, get_view_description +from rest_framework.tests.views import ( +    ViewWithNonASCIICharactersInDocstring, UTF8_TEST_DOCSTRING)  # We check that docstrings get nicely un-indented.  DESCRIPTION = """an example docstring @@ -83,11 +85,10 @@ class TestViewNamesAndDescriptions(TestCase):          Unicode in docstrings should be respected.          """ -        class MockView(APIView): -            """Проверка""" -            pass - -        self.assertEqual(get_view_description(MockView), "Проверка") +        self.assertEqual( +            get_view_description(ViewWithNonASCIICharactersInDocstring), +            smart_text(UTF8_TEST_DOCSTRING) +        )      def test_view_description_can_be_empty(self):          """ diff --git a/rest_framework/tests/test_utils.py b/rest_framework/tests/test_utils.py deleted file mode 100644 index da508dbb..00000000 --- a/rest_framework/tests/test_utils.py +++ /dev/null @@ -1,36 +0,0 @@ -# -*- coding: utf-8 -*- - -from django.test import TestCase -from rest_framework.utils import formatting -import sys - - -class FormattingUnitTests(TestCase): -    def setUp(self): -        # test strings snatched from http://www.columbia.edu/~fdc/utf8/, -        # http://winrus.com/utf8-jap.htm and memory -        self.utf8_test_string = ( -            'zażółć gęślą jaźń' -            'Sîne klâwen durh die wolken sint geslagen' -            'Τη γλώσσα μου έδωσαν ελληνική' -            'யாமறிந்த மொழிகளிலே தமிழ்மொழி' -            'На берегу пустынных волн' -            ' てすと' -            'アイウエオカキクケコサシスセソタチツテ' -        ) -        self.non_utf8_test_string = ('The quick brown fox jumps over the lazy ' -                                     'dog') - -    def test_for_ascii_support_in_remove_leading_indent(self): -        if sys.version_info < (3, 0): -            # only Python 2.x is affected, so we skip the test entirely -            # if on Python 3.x -            self.assertEqual(formatting._remove_leading_indent( -                self.non_utf8_test_string), self.non_utf8_test_string) - -    def test_for_utf8_support_in_remove_leading_indent(self): -        if sys.version_info < (3, 0): -            # only Python 2.x is affected, so we skip the test entirely -            # if on Python 3.x -            self.assertEqual(formatting._remove_leading_indent( -                self.utf8_test_string), self.utf8_test_string.decode('utf-8')) diff --git a/rest_framework/tests/views.py b/rest_framework/tests/views.py new file mode 100644 index 00000000..fc00cc0b --- /dev/null +++ b/rest_framework/tests/views.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- + +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' +    'Τη γλώσσα μου έδωσαν ελληνική' +    'யாமறிந்த மொழிகளிலே தமிழ்மொழி' +    'На берегу пустынных волн' +    'てすと' +    'アイウエオカキクケコサシスセソタチツテ' +) + + +# 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  | 
