(schema_type, input_value, expected)
| 170 | 'input_value,expected', [(StrSubclass('foo'), 'foo'), (StrMixin('foo'), 'foo'), (StrEnum.foo, 'foo-value')] |
| 171 | ) |
| 172 | def test_subclass_str(schema_type, input_value, expected): |
| 173 | s = SchemaSerializer({'type': schema_type}) |
| 174 | v = s.to_python(input_value) |
| 175 | assert v == input_value |
| 176 | assert type(v) == type(input_value) |
| 177 | |
| 178 | v = s.to_python(input_value, mode='json') |
| 179 | assert v == expected |
| 180 | assert type(v) == str |
| 181 | |
| 182 | assert s.to_json(input_value) == json.dumps(expected).encode('utf-8') |