0
0
mirror of https://github.com/bec-project/bec_widgets.git synced 2025-07-14 03:31:50 +02:00

feat(palette_viewer): added widget to display the current palette and accent colors

This commit is contained in:
2024-09-12 08:58:54 +02:00
parent f5807ec5cd
commit a8576c164c
2 changed files with 220 additions and 0 deletions

View File

@ -0,0 +1,37 @@
import pytest
from qtpy.QtCore import Qt
from bec_widgets.qt_utils.palette_viewer import PaletteViewer
from bec_widgets.widgets.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