diff options
| author | Tom Christie | 2014-09-12 11:38:22 +0100 | 
|---|---|---|
| committer | Tom Christie | 2014-09-12 11:38:22 +0100 | 
| commit | 5e39e159ee6aee90755709cfecec7d22c7ea3049 (patch) | |
| tree | 2421651bc6b329fc134ed770b1c24fc1a496ae9d /tests | |
| parent | 250755def707e1397876614fa0c08130d9fcc449 (diff) | |
| download | django-rest-framework-5e39e159ee6aee90755709cfecec7d22c7ea3049.tar.bz2 | |
UNICODE_JSON and COMPACT_JSON settings
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/test_renderers.py | 29 | ||||
| -rw-r--r-- | tests/test_validation.py | 2 | 
2 files changed, 17 insertions, 14 deletions
| diff --git a/tests/test_renderers.py b/tests/test_renderers.py index 91244e26..a8fd5f46 100644 --- a/tests/test_renderers.py +++ b/tests/test_renderers.py @@ -13,7 +13,7 @@ from rest_framework.compat import yaml, etree, StringIO  from rest_framework.response import Response  from rest_framework.views import APIView  from rest_framework.renderers import BaseRenderer, JSONRenderer, YAMLRenderer, \ -    XMLRenderer, JSONPRenderer, BrowsableAPIRenderer, UnicodeJSONRenderer, UnicodeYAMLRenderer +    XMLRenderer, JSONPRenderer, BrowsableAPIRenderer  from rest_framework.parsers import YAMLParser, XMLParser  from rest_framework.settings import api_settings  from rest_framework.test import APIRequestFactory @@ -32,7 +32,7 @@ RENDERER_B_SERIALIZER = lambda x: ('Renderer B: %s' % x).encode('ascii')  expected_results = [ -    ((elem for elem in [1, 2, 3]), JSONRenderer, b'[1, 2, 3]')  # Generator +    ((elem for elem in [1, 2, 3]), JSONRenderer, b'[1,2,3]')  # Generator  ] @@ -270,7 +270,7 @@ class RendererEndToEndTests(TestCase):          self.assertNotContains(resp, '>text/html; charset=utf-8<') -_flat_repr = '{"foo": ["bar", "baz"]}' +_flat_repr = '{"foo":["bar","baz"]}'  _indented_repr = '{\n  "foo": [\n    "bar",\n    "baz"\n  ]\n}' @@ -373,22 +373,29 @@ class JSONRendererTests(TestCase):          content = renderer.render(obj, 'application/json; indent=2')          self.assertEqual(strip_trailing_whitespace(content.decode('utf-8')), _indented_repr) -    def test_check_ascii(self): + +class UnicodeJSONRendererTests(TestCase): +    """ +    Tests specific for the Unicode JSON Renderer +    """ +    def test_proper_encoding(self):          obj = {'countries': ['United Kingdom', 'France', 'España']}          renderer = JSONRenderer()          content = renderer.render(obj, 'application/json') -        self.assertEqual(content, '{"countries": ["United Kingdom", "France", "Espa\\u00f1a"]}'.encode('utf-8')) +        self.assertEqual(content, '{"countries":["United Kingdom","France","España"]}'.encode('utf-8')) -class UnicodeJSONRendererTests(TestCase): +class AsciiJSONRendererTests(TestCase):      """      Tests specific for the Unicode JSON Renderer      """      def test_proper_encoding(self): +        class AsciiJSONRenderer(JSONRenderer): +            ensure_ascii = True          obj = {'countries': ['United Kingdom', 'France', 'España']} -        renderer = UnicodeJSONRenderer() +        renderer = AsciiJSONRenderer()          content = renderer.render(obj, 'application/json') -        self.assertEqual(content, '{"countries": ["United Kingdom", "France", "España"]}'.encode('utf-8')) +        self.assertEqual(content, '{"countries":["United Kingdom","France","Espa\\u00f1a"]}'.encode('utf-8'))  class JSONPRendererTests(TestCase): @@ -487,13 +494,9 @@ if yaml:          def assertYAMLContains(self, content, string):              self.assertTrue(string in content, '%r not in %r' % (string, content)) -    class UnicodeYAMLRendererTests(TestCase): -        """ -        Tests specific for the Unicode YAML Renderer -        """          def test_proper_encoding(self):              obj = {'countries': ['United Kingdom', 'France', 'España']} -            renderer = UnicodeYAMLRenderer() +            renderer = YAMLRenderer()              content = renderer.render(obj, 'application/yaml')              self.assertEqual(content.strip(), 'countries: [United Kingdom, France, España]'.encode('utf-8')) diff --git a/tests/test_validation.py b/tests/test_validation.py index 7543d849..ce39714d 100644 --- a/tests/test_validation.py +++ b/tests/test_validation.py @@ -131,7 +131,7 @@ class TestMaxValueValidatorValidation(TestCase):          request = factory.patch('/{0}'.format(obj.pk), {'number_value': 101}, format='json')          view = UpdateMaxValueValidationModel().as_view()          response = view(request, pk=obj.pk).render() -        self.assertEqual(response.content, b'{"number_value": ["Ensure this value is less than or equal to 100."]}') +        self.assertEqual(response.content, b'{"number_value":["Ensure this value is less than or equal to 100."]}')          self.assertEqual(response.status_code, status.HTTP_400_BAD_REQUEST) | 
