diff options
author | Berker Peksag <berker.peksag@gmail.com> | 2016-06-08 04:22:30 +0300 |
---|---|---|
committer | Tim Graham <timograham@gmail.com> | 2016-06-08 11:08:18 -0400 |
commit | 724dd2043ec849e605ba4f4cf1430458c2a8d90a (patch) | |
tree | bd6afc8350d9145b0e447ee80b3cc87b9cbb56ba /tests/serializers | |
parent | 7767978beec6098baea75d50a191a3b8224e729f (diff) | |
download | django-724dd2043ec849e605ba4f4cf1430458c2a8d90a.tar.gz |
Fixed #26717 -- Added Serializer.stream_class to customize the stream.
Diffstat (limited to 'tests/serializers')
-rw-r--r-- | tests/serializers/tests.py | 23 |
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'] |