Fix ObjectSelector when using other selectors (#170453)

This commit is contained in:
G Johansson
2026-05-13 16:42:47 +02:00
committed by GitHub
parent 97f3b48bf8
commit 5753da7dff
2 changed files with 11 additions and 1 deletions
+5 -1
View File
@@ -1698,7 +1698,11 @@ class ObjectSelector(Selector[ObjectSelectorConfig]):
if field_data.get("required") and field not in _config:
raise vol.Invalid(f"Field {field} is required")
if field in _config:
selector(field_data["selector"])(_config[field]) # type: ignore[operator]
field_selector = field_data["selector"]
if isinstance(field_selector, Selector):
field_selector(_config[field]) # type: ignore[operator]
else:
selector(field_selector)(_config[field]) # type: ignore[operator]
for key in _config:
if key not in self.config["fields"]:
+6
View File
@@ -1366,6 +1366,12 @@ def test_object_selector_uses_selectors(snapshot: SnapshotAssertion) -> None:
config = {selector_type: schema}
selector.validate_selector(config)
selector_instance = selector.selector(config)
selector_instance(
[
{"name": "Test 1", "percentage": 50},
{"name": "Test 2", "percentage": 70},
]
)
# Serialize selector
selector_instance = selector.selector({selector_type: schema})