Improve stability of homekit media players (#35080)
This commit is contained in:
1 parent
a083eb334e
commit
bd882fa4e4
5 files changed
+125
-35
No files matched your search
@@ -368,6 +368,26 @@ async def test_media_player_television_basic(hass, hk_driver, events, caplog):
|
||||
assert not caplog.messages or "Error" not in caplog.messages[-1]
|
||||
|
||||
|
||||
async def test_media_player_television_supports_source_select_no_sources(
|
||||
hass, hk_driver, events, caplog
|
||||
):
|
||||
"""Test if basic tv that supports source select but is missing a source list."""
|
||||
entity_id = "media_player.television"
|
||||
|
||||
# Supports turn_on', 'turn_off'
|
||||
hass.states.async_set(
|
||||
entity_id,
|
||||
None,
|
||||
{ATTR_DEVICE_CLASS: DEVICE_CLASS_TV, ATTR_SUPPORTED_FEATURES: 3469},
|
||||
)
|
||||
await hass.async_block_till_done()
|
||||
acc = TelevisionMediaPlayer(hass, hk_driver, "MediaPlayer", entity_id, 2, None)
|
||||
await acc.run_handler()
|
||||
await hass.async_block_till_done()
|
||||
|
||||
assert acc.support_select_source is False
|
||||
|
||||
|
||||
async def test_tv_restore(hass, hk_driver, events):
|
||||
"""Test setting up an entity from state in the event registry."""
|
||||
hass.state = CoreState.not_running
|
||||
|
||||
@@ -22,6 +22,7 @@ from homeassistant.components.homekit.const import (
|
||||
from homeassistant.components.homekit.util import (
|
||||
HomeKitSpeedMapping,
|
||||
SpeedRange,
|
||||
cleanup_name_for_homekit,
|
||||
convert_to_float,
|
||||
density_to_air_quality,
|
||||
dismiss_setup_message,
|
||||
@@ -172,6 +173,19 @@ def test_convert_to_float():
|
||||
assert convert_to_float(None) is None
|
||||
|
||||
|
||||
def test_cleanup_name_for_homekit():
|
||||
"""Ensure name sanitize works as expected."""
|
||||
|
||||
assert cleanup_name_for_homekit("abc") == "abc"
|
||||
assert cleanup_name_for_homekit("a b c") == "a b c"
|
||||
assert cleanup_name_for_homekit("ab_c") == "ab c"
|
||||
assert (
|
||||
cleanup_name_for_homekit('ab!@#$%^&*()-=":.,><?//\\ frog')
|
||||
== "ab--#---&----- -.,------ frog"
|
||||
)
|
||||
assert cleanup_name_for_homekit("の日本_語文字セット") == "の日本 語文字セット"
|
||||
|
||||
|
||||
def test_temperature_to_homekit():
|
||||
"""Test temperature conversion from HA to HomeKit."""
|
||||
assert temperature_to_homekit(20.46, TEMP_CELSIUS) == 20.5
|
||||
|
||||
Reference in new issue
Block a user