mirror of
https://github.com/django/django.git
synced 2025-08-03 10:34:04 +00:00
Fixed #26717 -- Added Serializer.stream_class to customize the stream.
This commit is contained in:
parent
7767978bee
commit
724dd2043e
3 changed files with 27 additions and 2 deletions
|
@ -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']
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue