From f4482275cb6a35596c89bead84254c9345e8d4e9 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Sat, 22 Aug 2026 15:03:07 -0500 Subject: [PATCH] Pin sortedness on a nested fixture in the comment-order test --- tests/unit_tests/test_main.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/tests/unit_tests/test_main.py b/tests/unit_tests/test_main.py index 97bdc09f4a..c7a5c85638 100644 --- a/tests/unit_tests/test_main.py +++ b/tests/unit_tests/test_main.py @@ -7208,9 +7208,13 @@ async def test_wrap_to_code_comment_is_insertion_order_independent() -> None: comp = SimpleNamespace(to_code=to_code, config_schema=object()) wrapped = _wrap_to_code("demo", comp, yaml_util) with patch("esphome.codegen.add", side_effect=lambda st: comments.append(str(st))): - await wrapped({"beta": 1, "alpha": 2}) - first = list(comments) + # Nested on purpose: the real churn lives in nested action configs, + # so sorting must apply at every mapping level + await wrapped({"beta": 1, "alpha": {"z": 1, "a": 2}}) + first = "\n".join(comments) comments.clear() - await wrapped({"alpha": 2, "beta": 1}) - assert first == comments - assert "alpha: 2" in comments[1] + await wrapped({"alpha": {"a": 2, "z": 1}, "beta": 1}) + second = "\n".join(comments) + assert first == second + assert second.index("alpha") < second.index("beta") + assert second.index("a: 2") < second.index("z: 1")