summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorDylan Araps <dylanaraps@users.noreply.github.com>2017-06-27 17:57:14 +1000
committerGitHub <noreply@github.com>2017-06-27 17:57:14 +1000
commitea160a42dec139148845aeb3043db5ba23bd9a6c (patch)
tree24ebf656944839f6328b1bef09a46a56800a1ca6 /tests
parent277c27c98a819c8e8de9dffde07192791a0d16d4 (diff)
parent7c3676c809a06aafb4f6f3b8cdc289c946be7695 (diff)
Merge pull request #11 from dylanaraps/tests
Tests: Start writing tests.
Diffstat (limited to 'tests')
-rwxr-xr-xtests/__init__.py4
-rwxr-xr-xtests/test_export_colors.py26
-rw-r--r--tests/test_files/test.jpgbin0 -> 8074 bytes
-rw-r--r--tests/test_files/test_file16
-rwxr-xr-xtests/test_format_colors.py47
-rwxr-xr-xtests/test_gen_colors.py27
-rwxr-xr-xtests/test_set_colors.py32
-rwxr-xr-xtests/test_util.py55
8 files changed, 207 insertions, 0 deletions
diff --git a/tests/__init__.py b/tests/__init__.py
new file mode 100755
index 0000000..af433d7
--- /dev/null
+++ b/tests/__init__.py
@@ -0,0 +1,4 @@
+"""
+wal - Generate and change colorschemes on the fly.
+Created by Dylan Araps.
+"""
diff --git a/tests/test_export_colors.py b/tests/test_export_colors.py
new file mode 100755
index 0000000..5ca04d9
--- /dev/null
+++ b/tests/test_export_colors.py
@@ -0,0 +1,26 @@
+"""Test export functions."""
+import unittest
+import pathlib
+
+from pywal import export_colors
+from pywal import util
+
+
+# Import colors.
+COLORS = util.read_file("tests/test_files/test_file")
+
+
+class TestExportColors(unittest.TestCase):
+ """Test the export_colors functions."""
+
+ def test_save_colors(self):
+ """> Export colors to a file."""
+ tmp_file = pathlib.Path("/tmp/test_file")
+ colors = util.read_file("tests/test_files/test_file")
+ export_colors.save_colors(colors, tmp_file, "plain colors")
+ result = tmp_file.is_file()
+ self.assertTrue(result)
+
+
+if __name__ == "__main__":
+ unittest.main()
diff --git a/tests/test_files/test.jpg b/tests/test_files/test.jpg
new file mode 100644
index 0000000..b613ed0
--- /dev/null
+++ b/tests/test_files/test.jpg
Binary files differ
diff --git a/tests/test_files/test_file b/tests/test_files/test_file
new file mode 100644
index 0000000..30eeeaa
--- /dev/null
+++ b/tests/test_files/test_file
@@ -0,0 +1,16 @@
+#363442
+#99A3B1
+#C5BDB6
+#98AEC2
+#A8B9C6
+#96C4CF
+#B7C5CC
+#C9CFD0
+#999999
+#99A3B1
+#C5BDB6
+#98AEC2
+#A8B9C6
+#96C4CF
+#B7C5CC
+#C9CFD0
diff --git a/tests/test_format_colors.py b/tests/test_format_colors.py
new file mode 100755
index 0000000..63c1ce2
--- /dev/null
+++ b/tests/test_format_colors.py
@@ -0,0 +1,47 @@
+"""Test format functions."""
+import unittest
+
+from pywal import format_color
+from pywal import util
+
+
+# Import colors.
+COLORS = util.read_file("tests/test_files/test_file")
+
+
+class TestFormatColors(unittest.TestCase):
+ """Test the format_colors functions."""
+
+ def test_plain(self):
+ """> Convert colors to plain."""
+ result = format_color.plain(COLORS)
+ self.assertEqual(result[0], "#363442\n")
+
+ def test_shell(self):
+ """> Convert colors to shell variables."""
+ result = format_color.shell(COLORS)
+ self.assertEqual(result[0], "color0='#363442'\n")
+
+ def test_css(self):
+ """> Convert colors to css variables."""
+ result = format_color.css(COLORS)
+ self.assertEqual(result[1], "\t--color0: #363442;\n")
+
+ def test_scss(self):
+ """> Convert colors to scss variables."""
+ result = format_color.scss(COLORS)
+ self.assertEqual(result[0], "$color0: #363442;\n")
+
+ def test_putty(self):
+ """> Convert colors to putty theme."""
+ result = format_color.putty(COLORS)
+ self.assertEqual(result[2], "\"colour0\"=\"54,52,66\"\n")
+
+ def test_xrdb(self):
+ """> Convert colors to putty theme."""
+ result = format_color.xrdb(COLORS)
+ self.assertEqual(result[6], "*.color0: #363442\n*color0: #363442\n")
+
+
+if __name__ == "__main__":
+ unittest.main()
diff --git a/tests/test_gen_colors.py b/tests/test_gen_colors.py
new file mode 100755
index 0000000..18ba821
--- /dev/null
+++ b/tests/test_gen_colors.py
@@ -0,0 +1,27 @@
+"""Test gen functions."""
+import unittest
+
+from pywal import gen_colors
+
+
+class TestGenColors(unittest.TestCase):
+ """Test the gen_colors functions."""
+
+ def test_get_img(self):
+ """> Validate image file."""
+ result = gen_colors.get_image("tests/test_files/test.jpg")
+ self.assertEqual(result, "tests/test_files/test.jpg")
+
+ def test_get_img_dir(self):
+ """> Validate image directory."""
+ result = gen_colors.get_image("tests/test_files")
+ self.assertEqual(result, "tests/test_files/test.jpg")
+
+ def test_gen_colors(self):
+ """> Generate a colorscheme."""
+ result = gen_colors.gen_colors("tests/test_files/test.jpg")
+ self.assertEqual(result[0], "#0F191A")
+
+
+if __name__ == "__main__":
+ unittest.main()
diff --git a/tests/test_set_colors.py b/tests/test_set_colors.py
new file mode 100755
index 0000000..43c6aed
--- /dev/null
+++ b/tests/test_set_colors.py
@@ -0,0 +1,32 @@
+"""Test set functions."""
+import unittest
+
+from pywal import set_colors
+from pywal import util
+
+
+# Import colors.
+COLORS = util.read_file("tests/test_files/test_file")
+
+
+class TestSetColors(unittest.TestCase):
+ """Test the set_colors functions."""
+
+ def test_set_special(self):
+ """> Create special escape sequence."""
+ result = set_colors.set_special(11, COLORS[0])
+ self.assertEqual(result, "\x1b]11;#363442\x07")
+
+ def test_set_color(self):
+ """> Create color escape sequence."""
+ result = set_colors.set_color(11, COLORS[0])
+ self.assertEqual(result, "\033]4;11;#363442\007")
+
+ def test_set_grey(self):
+ """> Create special escape sequence."""
+ result = set_colors.set_grey(COLORS)
+ self.assertEqual(result, "#999999")
+
+
+if __name__ == "__main__":
+ unittest.main()
diff --git a/tests/test_util.py b/tests/test_util.py
new file mode 100755
index 0000000..b1a396b
--- /dev/null
+++ b/tests/test_util.py
@@ -0,0 +1,55 @@
+"""Test util functions."""
+import unittest
+import pathlib
+
+from pywal import util
+
+
+class TestUtil(unittest.TestCase):
+ """Test the util functions."""
+
+ def test_read_file_start(self):
+ """> Read colors from a file."""
+ result = util.read_file("tests/test_files/test_file")
+ self.assertEqual(result[0], "#363442")
+
+ def test_read_file_end(self):
+ """> Read colors from a file."""
+ result = util.read_file("tests/test_files/test_file")
+ self.assertEqual(result[15], "#C9CFD0")
+
+ def test_save_file(self):
+ """> Save colors to a file."""
+ tmp_file = pathlib.Path("/tmp/test_file")
+ util.save_file("Hello, world", tmp_file)
+ result = tmp_file.is_file()
+ self.assertTrue(result)
+
+ def test_create_dir(self):
+ """> Create a directoru."""
+ tmp_dir = pathlib.Path("/tmp/test_dir")
+ util.create_dir(tmp_dir)
+ result = tmp_dir.is_dir()
+ self.assertTrue(result)
+
+ def test_hex_to_rgb_black(self):
+ """> Convert #000000 to RGB."""
+ result = util.hex_to_rgb("#000000")
+ self.assertEqual(result, "0,0,0")
+
+ def test_hex_to_rgb_white(self):
+ """> Convert #FFFFFF to RGB."""
+ result = util.hex_to_rgb("#FFFFFF")
+ self.assertEqual(result, "255,255,255")
+
+ def test_hex_to_rgb_rand(self):
+ """> Convert #98AEC2 to RGB."""
+ result = util.hex_to_rgb("#98AEC2")
+ self.assertEqual(result, "152,174,194")
+
+ # Figure out how to test this.
+ # def test_disown(self):
+
+
+if __name__ == "__main__":
+ unittest.main()