mirror of
https://github.com/bec-project/bec_widgets.git
synced 2025-07-13 19:21:50 +02:00
38 lines
1.3 KiB
Python
38 lines
1.3 KiB
Python
import pytest
|
|
from qtpy.QtCore import Qt
|
|
|
|
from bec_widgets.utils.palette_viewer import PaletteViewer
|
|
from bec_widgets.widgets.utility.visual.dark_mode_button.dark_mode_button import DarkModeButton
|
|
|
|
|
|
@pytest.fixture
|
|
def palette_viewer(qtbot):
|
|
widget = PaletteViewer()
|
|
qtbot.addWidget(widget)
|
|
qtbot.waitExposed(widget)
|
|
yield widget
|
|
|
|
|
|
def test_palette_viewer_renders_palette_and_accents(qtbot, palette_viewer):
|
|
assert palette_viewer.frame_layout.count() == 28
|
|
palette_viewer.clear_palette()
|
|
assert palette_viewer.frame_layout.count() == 0
|
|
palette_viewer.update_palette()
|
|
assert palette_viewer.frame_layout.count() == 28
|
|
|
|
|
|
def test_palette_viewer_updates_on_theme_change(qtbot, palette_viewer):
|
|
light_window_text_color = palette_viewer.frame_layout.itemAt(1).itemAt(0).widget().text()
|
|
assert "(windowText)" in light_window_text_color
|
|
light_hex_color = light_window_text_color.split(" ")[0]
|
|
|
|
button = palette_viewer.findChild(DarkModeButton)
|
|
qtbot.mouseClick(button.mode_button, Qt.MouseButton.LeftButton)
|
|
qtbot.wait(100)
|
|
|
|
dark_window_text_color = palette_viewer.frame_layout.itemAt(1).itemAt(0).widget().text()
|
|
assert "(windowText)" in dark_window_text_color
|
|
dark_hex_color = dark_window_text_color.split(" ")[0]
|
|
|
|
assert light_hex_color != dark_hex_color
|