pywal/tests/test_sequences.py

43 lines
1.3 KiB
Python
Raw Normal View History

"""Test sequence functions."""
import unittest
2017-07-23 13:55:09 +02:00
import unittest.mock
import io
from pywal import sequences
from pywal import util
# Import colors.
COLORS = util.read_file_json("tests/test_files/test_file.json")
class Testsequences(unittest.TestCase):
"""Test the sequence functions."""
def test_set_special(self):
"""> Create special escape sequence."""
result = sequences.set_special(11, COLORS["special"]["background"])
2017-07-09 16:00:54 +02:00
self.assertEqual(result, "\033]11;#1F211E\007")
2017-07-23 14:10:40 +02:00
def test_set_special_alpha(self):
"""> Create special escape sequence with alpha."""
2017-07-23 15:31:16 +02:00
util.Color.alpha_num = 99
2017-07-23 14:10:40 +02:00
result = sequences.set_special(11, COLORS["special"]["background"])
2017-07-23 15:31:16 +02:00
self.assertEqual(result, "\033]11;[99]#1F211E\007")
2017-07-23 14:10:40 +02:00
def test_set_color(self):
"""> Create color escape sequence."""
result = sequences.set_color(11, COLORS["colors"]["color0"])
2017-07-09 15:57:53 +02:00
self.assertEqual(result, "\033]4;11;#1F211E\007")
2017-07-23 15:31:16 +02:00
def test_send_sequences(self):
2017-07-23 13:55:09 +02:00
"""> Send sequences to all open terminals."""
with unittest.mock.patch('sys.stdout', new=io.StringIO()) as fake_out:
sequences.send(COLORS, False)
2017-07-23 14:06:12 +02:00
data = fake_out.getvalue().strip()
self.assertTrue(data.endswith("colors: Set terminal colors"))
2017-07-23 13:55:09 +02:00
2017-06-30 02:23:21 +02:00
if __name__ == "__main__":
unittest.main()