diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2022-09-16 09:10:14 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2022-09-16 09:10:14 +0000 |
commit | 896739353a613f23c007d9acaa2809010a522a37 (patch) | |
tree | cadd194400c11d0a5caaeda7d9d771602eb1ba40 /tests/test_search.py | |
parent | Initial commit. (diff) | |
download | colorclass-896739353a613f23c007d9acaa2809010a522a37.tar.xz colorclass-896739353a613f23c007d9acaa2809010a522a37.zip |
Adding upstream version 2.2.0.upstream/2.2.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'tests/test_search.py')
-rw-r--r-- | tests/test_search.py | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/tests/test_search.py b/tests/test_search.py new file mode 100644 index 0000000..0d5000d --- /dev/null +++ b/tests/test_search.py @@ -0,0 +1,51 @@ +"""Test objects in module.""" + +import pytest + +from colorclass.search import build_color_index, find_char_color + + +@pytest.mark.parametrize('in_,expected', [ + ['', ()], + ['TEST', (0, 1, 2, 3)], + ['!\033[31mRed\033[0m', (0, 6, 7, 8)], + ['\033[1mA \033[31mB \033[32;41mC \033[0mD', (4, 5, 11, 12, 21, 22, 27)], +]) +def test_build_color_index(in_, expected): + """Test function. + + :param str in_: Input string to pass to function. + :param str expected: Expected return value. + """ + actual = build_color_index(in_) + assert actual == expected + + +@pytest.mark.parametrize('in_,pos,expected', [ + ('TEST', 0, 'T'), + + ('\033[31mTEST', 0, '\033[31mT'), + ('\033[31mTEST', 3, '\033[31mT'), + + ('\033[31mT\033[32mE\033[33mS\033[34mT', 0, '\033[31mT\033[32m\033[33m\033[34m'), + ('\033[31mT\033[32mE\033[33mS\033[34mT', 2, '\033[31m\033[32m\033[33mS\033[34m'), + + ('\033[31mTEST\033[0m', 1, '\033[31mE\033[0m'), + ('\033[31mTEST\033[0m', 3, '\033[31mT\033[0m'), + + ('T\033[31mES\033[0mT', 0, 'T\033[31m\033[0m'), + ('T\033[31mES\033[0mT', 1, '\033[31mE\033[0m'), + ('T\033[31mES\033[0mT', 2, '\033[31mS\033[0m'), + ('T\033[31mES\033[0mT', 3, '\033[31m\033[0mT'), +]) +def test_find_char_color(in_, pos, expected): + """Test function. + + :param str in_: Input string to pass to function. + :param int pos: Character position in non-color string to lookup. + :param str expected: Expected return value. + """ + index = build_color_index(in_) + color_pos = index[pos] + actual = find_char_color(in_, color_pos) + assert actual == expected |