| # |
| # test_utils.py |
| # |
| # Tests for utility functions (utils.py). |
| # |
| # Copyright 2018 by |
| # Nikhil Ramakrishnan. |
| # |
| # This file is part of the FreeType project, and may only be used, |
| # modified, and distributed under the terms of the FreeType project |
| # license, LICENSE.TXT. By continuing to use, modify, or distribute |
| # this file you indicate that you have read the license and |
| # understand and accept it fully. |
| |
| """Unit tests for `utils`. |
| |
| This module contains tests for functions in `utils.py`. |
| """ |
| |
| import utils |
| import sys |
| |
| def test_index_key(): |
| test_dict = {"hello": "world", "foo": "bar", "FOO": "BAZ", |
| "HELLO": "WORLD", "zzz": "sleep"} |
| # expected output |
| out_list = ["FOO", "foo", "HELLO", "hello", "zzz"] |
| block_index = test_dict.keys() |
| block_index = sorted( block_index, key = utils.index_key ) |
| assert block_index == out_list |
| |
| def test_sort_order_list(): |
| input_list = ["z", "b", "a"] |
| order_list = ["b", "c", "d"] |
| # expected output |
| expected = ["b", "c", "d", "z", "a"] |
| |
| out_list = utils.sort_order_list(input_list, order_list) |
| assert out_list == expected |
| |
| def test_output( tmpdir ): |
| # check if sys.stdout is diverting to file |
| # this tests both open_output and close_output |
| utils.output_dir = str( tmpdir ) |
| old_std = sys.stdout |
| out = utils.open_output("test.txt", config=True) |
| assert sys.stdout != old_std |
| utils.close_output( out ) |
| assert sys.stdout == old_std |
| |
| def test_make_file_list( tmpdir ): |
| utils.output_dir = tmpdir |
| f1 = tmpdir.join( "test1.c" ) |
| f2 = tmpdir.join( "test2.c" ) |
| f3 = tmpdir.join( "test3.txt" ) |
| f1.write( "foo" ) |
| f2.write( "bar" ) |
| f3.write( "baz" ) |
| args = [str( tmpdir + '/*.c' )] |
| expected = ['test1.c', 'test2.c'] |
| |
| out_list = utils.make_file_list( args ) |
| out_list = [f for f in out_list] |
| for i in range( len( expected ) ): |
| assert expected[i] in out_list[i] |
| |
| # eof |