The boxed controls were centered on the whole bar while the now-playing panel hung from its top, so the bpm box sat ~11px below the panel beside it. The panel is now CONTROL_HEIGHT tall and every control shares its top edge; the seek row hangs under the panel. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
27 lines
1.1 KiB
Python
27 lines
1.1 KiB
Python
"""Round 62: the bpm box lines up with the rest of the transport bar.
|
|
|
|
The boxed controls (transport, shuffle, visualizer, bpm) were centered on the
|
|
whole bar while the now-playing panel hung from its top, so the bpm box sat
|
|
~11px lower than the panel right beside it. Now the panel is CONTROL_HEIGHT
|
|
tall and every control shares its top edge; the seek row sits under the panel.
|
|
"""
|
|
|
|
from tests.test_round21 import _build_bar
|
|
from lintunes.gui.transport import CONTROL_HEIGHT
|
|
|
|
|
|
def test_every_control_shares_the_now_playing_row(qapp, tmp_path):
|
|
bar = _build_bar(qapp, tmp_path)
|
|
panel = bar._now_playing.geometry()
|
|
assert panel.height() == CONTROL_HEIGHT
|
|
for widget in (bar._prev_btn.parentWidget(), bar._shuffle_btn.parentWidget(),
|
|
bar._visualizer, bar._volume_slider,
|
|
bar._bpm_button.parentWidget()):
|
|
g = widget.geometry()
|
|
assert (g.top(), g.bottom()) == (panel.top(), panel.bottom())
|
|
|
|
|
|
def test_seek_row_hangs_under_the_panel(qapp, tmp_path):
|
|
bar = _build_bar(qapp, tmp_path)
|
|
assert bar._slider.geometry().top() > bar._now_playing.geometry().bottom()
|