aboutsummaryrefslogtreecommitdiffstats
path: root/rest_framework/tests/renderers.py
diff options
context:
space:
mode:
authorPablo Recio2013-05-18 17:06:25 +0200
committerPablo Recio2013-05-18 17:06:54 +0200
commitb9b22976125fffa4552da695183bf75fbaf0b927 (patch)
tree3b3fc8d9530037677166d7b793cb842c5ea40357 /rest_framework/tests/renderers.py
parent71e29644a2950d8a82cb26f6a3e39fb76faf9707 (diff)
downloaddjango-rest-framework-b9b22976125fffa4552da695183bf75fbaf0b927.tar.bz2
Tests proper encoding in JSONRenderer and UnicodeJSONRenderer
Diffstat (limited to 'rest_framework/tests/renderers.py')
-rw-r--r--rest_framework/tests/renderers.py20
1 files changed, 19 insertions, 1 deletions
diff --git a/rest_framework/tests/renderers.py b/rest_framework/tests/renderers.py
index 40bac9cb..739f9184 100644
--- a/rest_framework/tests/renderers.py
+++ b/rest_framework/tests/renderers.py
@@ -1,3 +1,4 @@
+# -*- coding: utf-8 -*-
from decimal import Decimal
from django.core.cache import cache
from django.test import TestCase
@@ -8,7 +9,7 @@ from rest_framework.compat import yaml, etree, patterns, url, include
from rest_framework.response import Response
from rest_framework.views import APIView
from rest_framework.renderers import BaseRenderer, JSONRenderer, YAMLRenderer, \
- XMLRenderer, JSONPRenderer, BrowsableAPIRenderer
+ XMLRenderer, JSONPRenderer, BrowsableAPIRenderer, UnicodeJSONRenderer
from rest_framework.parsers import YAMLParser, XMLParser
from rest_framework.settings import api_settings
from rest_framework.compat import StringIO
@@ -254,6 +255,23 @@ class JSONRendererTests(TestCase):
content = renderer.render(obj, 'application/json; indent=2')
self.assertEqual(strip_trailing_whitespace(content), _indented_repr)
+ def test_check_ascii(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"]}')
+
+
+class UnicodeJSONRendererTests(TestCase):
+ """
+ Tests specific for the Unicode JSON Renderer
+ """
+ def test_proper_encoding(self):
+ obj = {'countries': ['United Kingdom', 'France', 'España']}
+ renderer = UnicodeJSONRenderer()
+ content = renderer.render(obj, 'application/json')
+ self.assertEqual(content, '{"countries": ["United Kingdom", "France", "España"]}')
+
class JSONPRendererTests(TestCase):
"""