play/pause
Deploy HEOS panel / deploy (push) Successful in 24s

This commit is contained in:
2026-09-15 01:03:25 +02:00
parent d2d7677519
commit dc7f09052d
9 changed files with 160 additions and 8 deletions
+21
View File
@@ -144,6 +144,26 @@ class PanelTest(unittest.TestCase):
self.panel.set_volume("living_room_group", 23)
self.assertEqual(self.panel.step_volume("living_room_group", 3), 35)
# -- play / pause ------------------------------------------------------
def test_toggle_play_flips_what_the_speakers_report(self):
self.panel.scan()
self.assertEqual(self.panel.get_play_state("home400"), "play")
self.assertEqual(self.panel.toggle_play("home400"), "pause")
self.assertEqual(self.panel.get_play_state("home400"), "pause")
self.assertEqual(self.panel.toggle_play("home400"), "play")
def test_toggle_play_takes_an_explicit_state(self):
self.panel.scan()
self.assertEqual(self.panel.toggle_play("home400", "stop"), "stop")
self.assertEqual(self.heos.play_states[HOME400_PID], "stop")
def test_pair_is_controlled_through_one_of_its_speakers(self):
"""Playback is a player command -- a group has none of its own -- so
it goes to the pair's leader."""
self.panel.scan()
self.panel.toggle_play("living_room_group", "pause")
self.assertEqual(self.heos.play_states[3], "pause")
# -- the AVR ---------------------------------------------------------
def test_renamed_inputs_and_selection(self):
deadline = time.time() + 5
@@ -176,6 +196,7 @@ class PanelTest(unittest.TestCase):
self.assertEqual([r["key"] for r in state["rooms"]], ["home400", "living_room_group"])
self.assertEqual([r["grouped"] for r in state["rooms"]], [True, False])
self.assertTrue(all(isinstance(r["volume"], int) for r in state["rooms"]))
self.assertEqual([r["play_state"] for r in state["rooms"]], ["play", "play"])
def test_state_reports_trouble_instead_of_blowing_up(self):
self.panel.heos.host = "127.0.0.1"