tests: Fix linting and tests.

This commit is contained in:
Dylan Araps 2017-06-30 09:28:23 +10:00
parent d865a5fd3c
commit 6ca3fa2763
3 changed files with 25 additions and 17 deletions

View File

@ -31,13 +31,14 @@ def export_all_templates(colors, template_dir=None, output_dir=CACHE_DIR):
"""Export all template files."""
# Add the template dir to module path.
template_dir = template_dir or os.path.join(os.path.dirname(__file__), "templates")
template_dir = template_dir or \
os.path.join(os.path.dirname(__file__), "templates")
# Merge all colors (specials and normals) into one dict so we can access
# their values simpler.
all_colors = dict()
for v in colors.values():
all_colors.update(v)
all_colors = {}
# pylint: disable=W0106
[all_colors.update(value) for value in colors.values()]
# Turn all those colors into util.Color instances for accessing the
# .hex and .rgb formats

View File

@ -7,6 +7,21 @@ import pathlib
import subprocess
# pylint: disable=too-few-public-methods
class Color(object):
"""Color formats."""
def __init__(self, hex_color):
self.hex_color = hex_color
def __str__(self):
return self.hex_color
@property
def rgb(self):
"""Convert a hex color to rgb."""
return hex_to_rgb(self.hex_color)
def read_file(input_file):
"""Read colors from a file."""
with open(input_file) as file:
@ -51,14 +66,3 @@ def disown(*cmd):
stdout=subprocess.DEVNULL,
stderr=subprocess.DEVNULL,
preexec_fn=os.setpgrp)
class Color(object):
def __init__(self, hex):
self.hex = hex
def __str__(self):
return self.hex
@property
def rgb(self):
return hex_to_rgb(self.hex)

View File

@ -20,13 +20,16 @@ class TestExportColors(unittest.TestCase):
COLORS["colors"].update(COLORS["special"])
output_dir = pathlib.Path("/tmp")
export_colors.export_all_templates(COLORS, pathlib.Path("tests/test_files/templates"), output_dir)
template_dir = pathlib.Path("tests/test_files/templates")
export_colors.export_all_templates(COLORS, template_dir, output_dir)
result = pathlib.Path("/tmp/test_template").is_file()
self.assertTrue(result)
content = pathlib.Path("/tmp/test_template").read_text()
self.assertEqual(content, '\n'.join(["test1 #3A5130", "test2 #3A5130", "test3 58,81,48", ""]))
self.assertEqual(content, '\n'.join(["test1 #3A5130",
"test2 #3A5130",
"test3 58,81,48", ""]))
if __name__ == "__main__":