support dataclass in JSONEncoder

This commit is contained in:
Eruvanos 2019-05-13 10:29:38 +02:00 committed by David Lord
parent dbd3840410
commit 6af14f058b
No known key found for this signature in database
GPG key ID: 7A1C87E3F5BC42A8
3 changed files with 26 additions and 5 deletions

View file

@ -10,6 +10,7 @@
"""
import re
import sys
import time
import uuid
from datetime import datetime
@ -1289,6 +1290,14 @@ def test_jsonify_mimetype(app, req_ctx):
assert rv.mimetype == "application/vnd.api+json"
@pytest.mark.skipif(sys.version_info < (3, 7), reason="requires Python >= 3.7")
def test_json_dump_dataclass(app, req_ctx):
from dataclasses import make_dataclass
Data = make_dataclass("Data", [("name", str)])
value = flask.json.dumps(Data("Flask"), app=app)
value = flask.json.loads(value, app=app)
assert value == {"name": "Flask"}
def test_jsonify_args_and_kwargs_check(app, req_ctx):
with pytest.raises(TypeError) as e:
flask.jsonify("fake args", kwargs="fake")