()
| 203 | |
| 204 | |
| 205 | def test_custom_encoders(): |
| 206 | class safe_datetime(datetime): |
| 207 | pass |
| 208 | |
| 209 | class MyDict(TypedDict): |
| 210 | dt_field: safe_datetime |
| 211 | |
| 212 | instance = MyDict(dt_field=safe_datetime.now()) |
| 213 | |
| 214 | encoded_instance = jsonable_encoder( |
| 215 | instance, custom_encoder={safe_datetime: lambda o: o.strftime("%H:%M:%S")} |
| 216 | ) |
| 217 | assert encoded_instance["dt_field"] == instance["dt_field"].strftime("%H:%M:%S") |
| 218 | |
| 219 | encoded_instance = jsonable_encoder( |
| 220 | instance, custom_encoder={datetime: lambda o: o.strftime("%H:%M:%S")} |
| 221 | ) |
| 222 | assert encoded_instance["dt_field"] == instance["dt_field"].strftime("%H:%M:%S") |
| 223 | |
| 224 | encoded_instance2 = jsonable_encoder(instance) |
| 225 | assert encoded_instance2["dt_field"] == instance["dt_field"].isoformat() |
| 226 | |
| 227 | |
| 228 | def test_custom_enum_encoders(): |
nothing calls this directly
no test coverage detected
searching dependent graphs…