tests: Implement all arguments.

This commit is contained in:
Dylan Araps 2017-07-23 23:31:16 +10:00
parent 6677cad478
commit b14081625c
2 changed files with 36 additions and 3 deletions

View File

@ -1,6 +1,9 @@
"""Test __main__ functions."""
import unittest
import os
from pywal import __main__
from pywal.settings import __cache_dir__
class TestMain(unittest.TestCase):
@ -35,12 +38,42 @@ class TestMain(unittest.TestCase):
__main__.process_args(args)
self.assertTrue(args.q)
def test_alpha(self):
"""> Test arg parsing (-a)"""
args = __main__.get_args(["-a", "99"])
__main__.process_args(args)
self.assertTrue(args.a)
def test_ext_script(self):
"""> Test arg parsing (-o)"""
args = __main__.get_args(["-o", "true"])
__main__.process_args(args)
self.assertTrue(args.o)
def test_clean(self):
"""> Test arg parsing (-c)"""
args = __main__.get_args(["-c"])
__main__.process_args(args)
self.assertFalse(os.path.isdir(__cache_dir__ / "schemes"))
def test_reload(self):
"""> Test arg parsing (-r)"""
with self.assertRaises(SystemExit):
args = __main__.get_args(["-r"])
__main__.process_args(args)
def test_image(self):
"""> Test arg parsing (-i)"""
args = __main__.get_args(["-i", "tests/test_files/test.jpg"])
__main__.process_args(args)
self.assertTrue(args.i)
def test_json(self):
"""> Test arg parsing (-f)"""
args = __main__.get_args(["-f", "tests/test_files/test_file.json"])
__main__.process_args(args)
self.assertTrue(args.f)
if __name__ == "__main__":
unittest.main()

View File

@ -21,16 +21,16 @@ class Testsequences(unittest.TestCase):
def test_set_special_alpha(self):
"""> Create special escape sequence with alpha."""
util.Color.alpha_num = 40
util.Color.alpha_num = 99
result = sequences.set_special(11, COLORS["special"]["background"])
self.assertEqual(result, "\033]11;[40]#1F211E\007")
self.assertEqual(result, "\033]11;[99]#1F211E\007")
def test_set_color(self):
"""> Create color escape sequence."""
result = sequences.set_color(11, COLORS["colors"]["color0"])
self.assertEqual(result, "\033]4;11;#1F211E\007")
def test_send_srquences(self):
def test_send_sequences(self):
"""> Send sequences to all open terminals."""
with unittest.mock.patch('sys.stdout', new=io.StringIO()) as fake_out:
sequences.send(COLORS, False)