mirror of
https://github.com/imarkoff/Marble-shell-theme.git
synced 2025-09-18 01:07:55 -07:00
Initial test
This commit is contained in:
56
scripts/tests.py
Normal file
56
scripts/tests.py
Normal file
@@ -0,0 +1,56 @@
|
||||
import unittest
|
||||
import os
|
||||
import json
|
||||
import shutil
|
||||
|
||||
from . import config
|
||||
from .theme import Theme
|
||||
|
||||
# folders
|
||||
tests_folder = '.tests'
|
||||
project_folder = '.'
|
||||
|
||||
|
||||
class TestInstall(unittest.TestCase):
|
||||
|
||||
def test_install_theme(self):
|
||||
"""
|
||||
Test if theme is installed correctly (colors are replaced)
|
||||
"""
|
||||
|
||||
# folders
|
||||
themes_folder = f"{tests_folder}/.themes"
|
||||
temp_folder = f"{tests_folder}/.temp"
|
||||
|
||||
# colors from colors.json
|
||||
colors_json = open(f"{project_folder}/{config.colors_json}")
|
||||
colors = json.load(colors_json)
|
||||
colors_json.close()
|
||||
|
||||
# create test theme
|
||||
test_theme = Theme("gnome-shell", colors,
|
||||
f"{project_folder}/{config.raw_theme_folder}/{config.gnome_folder}",
|
||||
themes_folder, temp_folder,
|
||||
mode='light', is_filled=True)
|
||||
|
||||
# install test theme
|
||||
test_theme.install(120, 'test', 70)
|
||||
|
||||
# folder with installed theme (.tests/.themes/Marble-test-light/gnome-shell)
|
||||
installed_theme = f"{themes_folder}/{os.listdir(themes_folder)[0]}/{config.gnome_folder}"
|
||||
|
||||
# check if files are installed
|
||||
for file in os.listdir(installed_theme):
|
||||
with open(f"{installed_theme}/{file}") as f:
|
||||
read_file = f.read()
|
||||
|
||||
for color in colors["elements"]:
|
||||
self.assertNotIn(color, read_file, msg=f"Color {color} is not replaced in {file}")
|
||||
|
||||
# delete test theme
|
||||
del test_theme
|
||||
shutil.rmtree(tests_folder)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main()
|
Reference in New Issue
Block a user