From ba87a0b63c0845942a5b466831caf0ffc1bf20c9 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Sun, 22 Jun 2025 21:32:20 +0200 Subject: [PATCH] cleanups --- esphome/config_validation.py | 3 +-- esphome/dashboard/util/text.py | 2 +- .../fixtures/core/config/area_id_hash_collision.yaml | 9 +++++++++ .../fixtures/core/config/device_duplicate_id.yaml | 9 +++++++++ .../fixtures/core/config/device_id_collision.yaml | 2 +- .../fixtures/core/config/device_invalid_area.yaml | 11 +++++++++++ 6 files changed, 32 insertions(+), 4 deletions(-) diff --git a/esphome/config_validation.py b/esphome/config_validation.py index ec17ec986d..27f9a5b83f 100644 --- a/esphome/config_validation.py +++ b/esphome/config_validation.py @@ -354,8 +354,7 @@ def sub_device_id(value: str | None) -> core.ID: # Lazy import to avoid circular imports from esphome.core.config import Device - validator = use_id(Device) - return validator(value) + return use_id(Device)(value) def boolean(value): diff --git a/esphome/dashboard/util/text.py b/esphome/dashboard/util/text.py index 5c75061637..2a3b9042e6 100644 --- a/esphome/dashboard/util/text.py +++ b/esphome/dashboard/util/text.py @@ -3,7 +3,7 @@ from __future__ import annotations from esphome.helpers import slugify -def friendly_name_slugify(value): +def friendly_name_slugify(value: str) -> str: """Convert a friendly name to a slug with dashes instead of underscores.""" # First use the standard slugify, then convert underscores to dashes return slugify(value).replace("_", "-") diff --git a/tests/unit_tests/fixtures/core/config/area_id_hash_collision.yaml b/tests/unit_tests/fixtures/core/config/area_id_hash_collision.yaml index 8b13789179..3a2e8ab8a9 100644 --- a/tests/unit_tests/fixtures/core/config/area_id_hash_collision.yaml +++ b/tests/unit_tests/fixtures/core/config/area_id_hash_collision.yaml @@ -1 +1,10 @@ +esphome: + name: test + areas: + - id: test_2258 + name: "Area 1" + - id: d6ka + name: "Area 2" +esp32: + board: esp32dev diff --git a/tests/unit_tests/fixtures/core/config/device_duplicate_id.yaml b/tests/unit_tests/fixtures/core/config/device_duplicate_id.yaml index 8b13789179..2aa3055686 100644 --- a/tests/unit_tests/fixtures/core/config/device_duplicate_id.yaml +++ b/tests/unit_tests/fixtures/core/config/device_duplicate_id.yaml @@ -1 +1,10 @@ +esphome: + name: test + devices: + - id: duplicate_device + name: "Device 1" + - id: duplicate_device + name: "Device 2" +esp32: + board: esp32dev diff --git a/tests/unit_tests/fixtures/core/config/device_id_collision.yaml b/tests/unit_tests/fixtures/core/config/device_id_collision.yaml index a34454fc26..9cf04e0595 100644 --- a/tests/unit_tests/fixtures/core/config/device_id_collision.yaml +++ b/tests/unit_tests/fixtures/core/config/device_id_collision.yaml @@ -7,4 +7,4 @@ esphome: name: "Device 2" esp32: - board: esp32dev \ No newline at end of file + board: esp32dev diff --git a/tests/unit_tests/fixtures/core/config/device_invalid_area.yaml b/tests/unit_tests/fixtures/core/config/device_invalid_area.yaml index 8b13789179..9a8ec0a1eb 100644 --- a/tests/unit_tests/fixtures/core/config/device_invalid_area.yaml +++ b/tests/unit_tests/fixtures/core/config/device_invalid_area.yaml @@ -1 +1,12 @@ +esphome: + name: test + areas: + - id: valid_area + name: "Valid Area" + devices: + - id: test_device + name: "Test Device" + area_id: nonexistent_area +esp32: + board: esp32dev