summaryrefslogtreecommitdiff
path: root/tests/serializers
diff options
context:
space:
mode:
authorBerker Peksag <berker.peksag@gmail.com>2016-06-08 04:22:30 +0300
committerTim Graham <timograham@gmail.com>2016-06-08 11:08:18 -0400
commit724dd2043ec849e605ba4f4cf1430458c2a8d90a (patch)
treebd6afc8350d9145b0e447ee80b3cc87b9cbb56ba /tests/serializers
parent7767978beec6098baea75d50a191a3b8224e729f (diff)
downloaddjango-724dd2043ec849e605ba4f4cf1430458c2a8d90a.tar.gz
Fixed #26717 -- Added Serializer.stream_class to customize the stream.
Diffstat (limited to 'tests/serializers')
-rw-r--r--tests/serializers/tests.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/serializers/tests.py b/tests/serializers/tests.py
index 96284ca642..66f1d22398 100644
--- a/tests/serializers/tests.py
+++ b/tests/serializers/tests.py
@@ -353,6 +353,29 @@ class SerializersTestBase(object):
self.assertEqual(base_data, proxy_proxy_data.replace('proxy', ''))
+class SerializerAPITests(SimpleTestCase):
+
+ def test_stream_class(self):
+ class File(object):
+ def __init__(self):
+ self.lines = []
+
+ def write(self, line):
+ self.lines.append(line)
+
+ def getvalue(self):
+ return ''.join(self.lines)
+
+ class Serializer(serializers.json.Serializer):
+ stream_class = File
+
+ serializer = Serializer()
+ data = serializer.serialize([Score(id=1, score=3.4)])
+ self.assertIs(serializer.stream_class, File)
+ self.assertIsInstance(serializer.stream, File)
+ self.assertEqual(data, '[{"model": "serializers.score", "pk": 1, "fields": {"score": 3.4}}]')
+
+
class SerializersTransactionTestBase(object):
available_apps = ['serializers']