Skip to content

Commit

Permalink
Update preference dialog tests. Set system default to be first app th…
Browse files Browse the repository at this point in the history
…eme option.
  • Loading branch information
Carifio24 committed Jun 12, 2023
1 parent f263fc1 commit 9cff1d2
Show file tree
Hide file tree
Showing 2 changed files with 102 additions and 10 deletions.
6 changes: 3 additions & 3 deletions glue/app/qt/preferences.ui
Original file line number Diff line number Diff line change
Expand Up @@ -289,17 +289,17 @@
<widget class="QComboBox" name="combo_app_theme">
<item>
<property name="text">
<string>Light</string>
<string>System default</string>
</property>
</item>
<item>
<property name="text">
<string>Dark</string>
<string>Light</string>
</property>
</item>
<item>
<property name="text">
<string>System default</string>
<string>Dark</string>
</property>
</item>
</widget>
Expand Down
106 changes: 99 additions & 7 deletions glue/app/qt/tests/test_preferences.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ def test_no_change(self):
settings.DATA_COLOR = (1, 0.5, 0.25)
settings.DATA_ALPHA = 0.3
settings.FONT_SIZE = 8.0
settings.APP_THEME = 'System default'

dialog = PreferencesDialog(self.app)
dialog.show()
Expand All @@ -49,6 +50,7 @@ def test_no_change(self):
assert rgb(settings.DATA_COLOR) == (1, 0.5, 0.25)
assert settings.DATA_ALPHA == 0.3
assert settings.FONT_SIZE == 8.0
assert settings.APP_THEME == 'System default'

def test_theme_autodetect(self):

Expand All @@ -61,6 +63,7 @@ def test_theme_autodetect(self):
settings.DATA_COLOR = '0.75'
settings.DATA_ALPHA = 0.8
settings.FONT_SIZE = 8.0
settings.APP_THEME = 'System default'

dialog = PreferencesDialog(self.app)
dialog.show()
Expand All @@ -72,13 +75,14 @@ def test_theme_autodetect(self):
settings.DATA_COLOR = '0.35'
settings.DATA_ALPHA = 0.8
settings.FONT_SIZE = 8.0
settings.APP_THEME = 'System default'

dialog = PreferencesDialog(self.app)
dialog.show()
assert dialog.theme == 'Black on White'
dialog.accept()

def test_themes(self):
def test_viewer_themes(self):

# Check that themes work

Expand All @@ -89,6 +93,7 @@ def test_themes(self):
settings.DATA_COLOR = (1, 0.5, 0.25)
settings.DATA_ALPHA = 0.3
settings.FONT_SIZE = 8.0
settings.APP_THEME = 'System default'

dialog = PreferencesDialog(self.app)
dialog.show()
Expand All @@ -99,7 +104,8 @@ def test_themes(self):
assert rgb(settings.BACKGROUND_COLOR) == (0, 0, 0)
assert rgb(settings.DATA_COLOR) == (0.75, 0.75, 0.75)
assert settings.DATA_ALPHA == 0.8
settings.FONT_SIZE = 8.0
assert settings.FONT_SIZE == 8.0
assert settings.APP_THEME == 'System default'

dialog = PreferencesDialog(self.app)
dialog.show()
Expand All @@ -110,7 +116,72 @@ def test_themes(self):
assert rgb(settings.BACKGROUND_COLOR) == (1, 1, 1)
assert rgb(settings.DATA_COLOR) == (0.35, 0.35, 0.35)
assert settings.DATA_ALPHA == 0.8
assert settings.FONT_SIZE == 8.0
assert settings.APP_THEME == 'System default'

def test_application_themes(self):

# Check that application themes work

with patch('glue.config.settings') as settings:

settings.FOREGROUND_COLOR = 'red'
settings.BACKGROUND_COLOR = (0, 0.5, 1)
settings.DATA_COLOR = (1, 0.5, 0.25)
settings.DATA_ALPHA = 0.3
settings.FONT_SIZE = 8.0
settings.APP_THEME = 'System default'

dialog = PreferencesDialog(self.app)
dialog.show()
dialog.app_theme = 'Light'
dialog.accept()

assert rgb(settings.FOREGROUND_COLOR) == (1, 0, 0)
assert rgb(settings.BACKGROUND_COLOR) == (0, 0.5, 1)
assert rgb(settings.DATA_COLOR) == (1, 0.5, 0.25)
assert settings.DATA_ALPHA == 0.3
assert settings.FONT_SIZE == 8.0
assert settings.APP_THEME == 'Light'

dialog = PreferencesDialog(self.app)
dialog.show()
dialog.app_theme = 'Dark'
assert dialog.theme == 'White on Black'
dialog.accept()

assert rgb(settings.FOREGROUND_COLOR) == (1, 1, 1)
assert rgb(settings.BACKGROUND_COLOR) == (0, 0, 0)
assert rgb(settings.DATA_COLOR) == (0.75, 0.75, 0.75)
assert settings.DATA_ALPHA == 0.8
assert settings.FONT_SIZE == 8.0
assert settings.APP_THEME == 'Dark'

dialog = PreferencesDialog(self.app)
dialog.show()
dialog.app_theme = 'Light'
assert dialog.theme == 'Black on White'
dialog.accept()

assert rgb(settings.FOREGROUND_COLOR) == (0, 0, 0)
assert rgb(settings.BACKGROUND_COLOR) == (1, 1, 1)
assert rgb(settings.DATA_COLOR) == (0.35, 0.35, 0.35)
assert settings.DATA_ALPHA == 0.8
assert settings.FONT_SIZE == 8.0
assert settings.APP_THEME == 'Light'

dialog = PreferencesDialog(self.app)
dialog.show()
dialog.app_theme = 'System default'
assert dialog.theme == 'Black on White'
dialog.accept()

assert rgb(settings.FOREGROUND_COLOR) == (0, 0, 0)
assert rgb(settings.BACKGROUND_COLOR) == (1, 1, 1)
assert rgb(settings.DATA_COLOR) == (0.35, 0.35, 0.35)
assert settings.DATA_ALPHA == 0.8
assert settings.FONT_SIZE == 8.0
assert settings.APP_THEME == 'System default'

def test_custom_changes(self):

Expand All @@ -123,6 +194,7 @@ def test_custom_changes(self):
settings.DATA_COLOR = (1, 0.5, 0.25)
settings.DATA_ALPHA = 0.3
settings.FONT_SIZE = 8.0
settings.APP_THEME = 'System default'

dialog = PreferencesDialog(self.app)
dialog.show()
Expand All @@ -133,7 +205,8 @@ def test_custom_changes(self):
assert rgb(settings.BACKGROUND_COLOR) == (0, 0.5, 1)
assert rgb(settings.DATA_COLOR) == (1, 0.5, 0.25)
assert settings.DATA_ALPHA == 0.3
settings.FONT_SIZE = 8.0
assert settings.FONT_SIZE == 8.0
assert settings.APP_THEME == 'System default'

dialog = PreferencesDialog(self.app)
dialog.show()
Expand All @@ -144,7 +217,8 @@ def test_custom_changes(self):
assert rgb(settings.BACKGROUND_COLOR) == (1, 0, 1)
assert rgb(settings.DATA_COLOR) == (1, 0.5, 0.25)
assert settings.DATA_ALPHA == 0.3
settings.FONT_SIZE = 8.0
assert settings.FONT_SIZE == 8.0
assert settings.APP_THEME == 'System default'

dialog = PreferencesDialog(self.app)
dialog.show()
Expand All @@ -155,7 +229,8 @@ def test_custom_changes(self):
assert rgb(settings.BACKGROUND_COLOR) == (1, 0, 1)
assert rgb(settings.DATA_COLOR) == (1, 1, 0.5)
assert settings.DATA_ALPHA == 0.3
settings.FONT_SIZE = 8.0
assert settings.FONT_SIZE == 8.0
assert settings.APP_THEME == 'System default'

dialog = PreferencesDialog(self.app)
dialog.show()
Expand All @@ -166,6 +241,7 @@ def test_custom_changes(self):
assert rgb(settings.BACKGROUND_COLOR) == (1, 0, 1)
assert rgb(settings.DATA_COLOR) == (1, 1, 0.5)
assert settings.DATA_ALPHA == 0.4
assert settings.APP_THEME == 'System default'
settings.FONT_SIZE = 8.0

dialog = PreferencesDialog(self.app)
Expand All @@ -177,7 +253,20 @@ def test_custom_changes(self):
assert rgb(settings.BACKGROUND_COLOR) == (1, 0, 1)
assert rgb(settings.DATA_COLOR) == (1, 1, 0.5)
assert settings.DATA_ALPHA == 0.4
settings.FONT_SIZE = 16.0
assert settings.FONT_SIZE == 16.0
assert settings.APP_THEME == 'System default'

dialog = PreferencesDialog(self.app)
dialog.show()
dialog.app_theme = 'Light'
dialog.accept()

assert rgb(settings.FOREGROUND_COLOR) == (0, 1, 1)
assert rgb(settings.BACKGROUND_COLOR) == (1, 0, 1)
assert rgb(settings.DATA_COLOR) == (1, 1, 0.5)
assert settings.DATA_ALPHA == 0.4
assert settings.FONT_SIZE == 16.0
assert settings.APP_THEME == 'Light'

def test_custom_pane(self):

Expand Down Expand Up @@ -238,14 +327,15 @@ def receive_message(self, message):
settings.DATA_COLOR = (1, 0.5, 0.25)
settings.DATA_ALPHA = 0.3
settings.FONT_SIZE = 8.0
settings.APP_THEME = 'System default'

dialog = PreferencesDialog(self.app)
dialog.show()
dialog.foreground = (0, 1, 1)
dialog.accept()

assert len(listener.received) == 1
assert listener.received[0].settings == ('FOREGROUND_COLOR', 'BACKGROUND_COLOR', 'FONT_SIZE')
assert listener.received[0].settings == ('FOREGROUND_COLOR', 'BACKGROUND_COLOR', 'FONT_SIZE', 'APP_THEME')

def test_save_to_disk(self, tmpdir):

Expand All @@ -257,6 +347,7 @@ def test_save_to_disk(self, tmpdir):
settings.DATA_COLOR = (1, 0.5, 0.25)
settings.DATA_ALPHA = 0.3
settings.FONT_SIZE = 8.0
settings.APP_THEME = 'System default'

dialog = PreferencesDialog(self.app)
dialog.show()
Expand Down Expand Up @@ -362,6 +453,7 @@ def test_foreground_background_settings():
settings.DATA_COLOR = '0.5'
settings.DATA_ALPHA = 0.5
settings.FONT_SIZE = 8.0
settings.APP_THEME = 'System default'

dialog = PreferencesDialog(app)
dialog.show()
Expand Down

0 comments on commit 9cff1d2

Please sign in to comment.