Allow custom_serializer to recognize cv.string and cv.boolean to make config schema more reusable (#41532)
parent
852d1b2e67
commit
d3734aae9d
|
@ -828,6 +828,12 @@ def custom_serializer(schema: Any) -> Any:
|
|||
if schema is positive_time_period_dict:
|
||||
return {"type": "positive_time_period_dict"}
|
||||
|
||||
if schema is string:
|
||||
return {"type": "string"}
|
||||
|
||||
if schema is boolean:
|
||||
return {"type": "boolean"}
|
||||
|
||||
if isinstance(schema, multi_select):
|
||||
return {"type": "multi_select", "options": schema.options}
|
||||
|
||||
|
|
|
@ -571,6 +571,27 @@ def test_multi_select_in_serializer():
|
|||
}
|
||||
|
||||
|
||||
def test_boolean_in_serializer():
|
||||
"""Test boolean with custom_serializer."""
|
||||
assert cv.custom_serializer(cv.boolean) == {
|
||||
"type": "boolean",
|
||||
}
|
||||
|
||||
|
||||
def test_string_in_serializer():
|
||||
"""Test string with custom_serializer."""
|
||||
assert cv.custom_serializer(cv.string) == {
|
||||
"type": "string",
|
||||
}
|
||||
|
||||
|
||||
def test_positive_time_period_dict_in_serializer():
|
||||
"""Test positive_time_period_dict with custom_serializer."""
|
||||
assert cv.custom_serializer(cv.positive_time_period_dict) == {
|
||||
"type": "positive_time_period_dict",
|
||||
}
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def schema():
|
||||
"""Create a schema used for testing deprecation."""
|
||||
|
|
Loading…
Reference in New Issue