From 3fb37a1d0237869e8e37864d06c0dfd94bb43189 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Mon, 6 Sep 2021 06:12:56 +0200 Subject: Merging upstream version 2.2.0. Signed-off-by: Daniel Baumann --- tests/tabular_output/test_tabulate_adapter.py | 127 +++++++++++++++----------- 1 file changed, 72 insertions(+), 55 deletions(-) (limited to 'tests/tabular_output/test_tabulate_adapter.py') diff --git a/tests/tabular_output/test_tabulate_adapter.py b/tests/tabular_output/test_tabulate_adapter.py index e0dd5a8..6e7c7db 100644 --- a/tests/tabular_output/test_tabulate_adapter.py +++ b/tests/tabular_output/test_tabulate_adapter.py @@ -16,35 +16,53 @@ if HAS_PYGMENTS: def test_tabulate_wrapper(): """Test the *output_formatter.tabulate_wrapper()* function.""" - data = [['abc', 1], ['d', 456]] - headers = ['letters', 'number'] - output = tabulate_adapter.adapter(iter(data), headers, table_format='psql') - assert "\n".join(output) == dedent('''\ - +-----------+----------+ - | letters | number | - |-----------+----------| - | abc | 1 | - | d | 456 | - +-----------+----------+''') - - data = [['{1,2,3}', '{{1,2},{3,4}}', '{å,魚,текст}'], ['{}', '', '{}']] - headers = ['bigint_array', 'nested_numeric_array', '配列'] - output = tabulate_adapter.adapter(iter(data), headers, table_format='psql') - assert "\n".join(output) == dedent('''\ - +----------------+------------------------+--------------+ - | bigint_array | nested_numeric_array | 配列 | - |----------------+------------------------+--------------| - | {1,2,3} | {{1,2},{3,4}} | {å,魚,текст} | - | {} | | {} | - +----------------+------------------------+--------------+''') + data = [["abc", 1], ["d", 456]] + headers = ["letters", "number"] + output = tabulate_adapter.adapter(iter(data), headers, table_format="psql") + assert "\n".join(output) == dedent( + """\ + +---------+--------+ + | letters | number | + |---------+--------| + | abc | 1 | + | d | 456 | + +---------+--------+""" + ) + + data = [["abc", 1], ["d", 456]] + headers = ["letters", "number"] + output = tabulate_adapter.adapter(iter(data), headers, table_format="psql_unicode") + assert "\n".join(output) == dedent( + """\ + ┌─────────┬────────┐ + │ letters │ number │ + ├─────────┼────────┤ + │ abc │ 1 │ + │ d │ 456 │ + └─────────┴────────┘""" + ) + + data = [["{1,2,3}", "{{1,2},{3,4}}", "{å,魚,текст}"], ["{}", "", "{}"]] + headers = ["bigint_array", "nested_numeric_array", "配列"] + output = tabulate_adapter.adapter(iter(data), headers, table_format="psql") + assert "\n".join(output) == dedent( + """\ + +--------------+----------------------+--------------+ + | bigint_array | nested_numeric_array | 配列 | + |--------------+----------------------+--------------| + | {1,2,3} | {{1,2},{3,4}} | {å,魚,текст} | + | {} | | {} | + +--------------+----------------------+--------------+""" + ) def test_markup_format(): """Test that markup formats do not have number align or string align.""" - data = [['abc', 1], ['d', 456]] - headers = ['letters', 'number'] - output = tabulate_adapter.adapter(iter(data), headers, table_format='mediawiki') - assert "\n".join(output) == dedent('''\ + data = [["abc", 1], ["d", 456]] + headers = ["letters", "number"] + output = tabulate_adapter.adapter(iter(data), headers, table_format="mediawiki") + assert "\n".join(output) == dedent( + """\ {| class="wikitable" style="text-align: left;" |+ |- @@ -53,44 +71,43 @@ def test_markup_format(): | abc || 1 |- | d || 456 - |}''') + |}""" + ) -@pytest.mark.skipif(not HAS_PYGMENTS, reason='requires the Pygments library') +@pytest.mark.skipif(not HAS_PYGMENTS, reason="requires the Pygments library") def test_style_output_table(): """Test that *style_output_table()* styles the output table.""" class CliStyle(Style): default_style = "" styles = { - Token.Output.TableSeparator: 'ansibrightred', + Token.Output.TableSeparator: "ansibrightred", } - headers = ['h1', 'h2'] - data = [['观音', '2'], ['Ποσειδῶν', 'b']] - style_output_table = tabulate_adapter.style_output_table('psql') + + headers = ["h1", "h2"] + data = [["观音", "2"], ["Ποσειδῶν", "b"]] + style_output_table = tabulate_adapter.style_output_table("psql") style_output_table(data, headers, style=CliStyle) - output = tabulate_adapter.adapter(iter(data), headers, table_format='psql') - - assert "\n".join(output) == dedent('''\ - \x1b[91m+\x1b[39m''' + ( - ('\x1b[91m-\x1b[39m' * 10) + - '\x1b[91m+\x1b[39m' + - ('\x1b[91m-\x1b[39m' * 6)) + - '''\x1b[91m+\x1b[39m - \x1b[91m|\x1b[39m h1 \x1b[91m|\x1b[39m''' + - ''' h2 \x1b[91m|\x1b[39m - ''' + '\x1b[91m|\x1b[39m' + ( - ('\x1b[91m-\x1b[39m' * 10) + - '\x1b[91m+\x1b[39m' + - ('\x1b[91m-\x1b[39m' * 6)) + - '''\x1b[91m|\x1b[39m - \x1b[91m|\x1b[39m 观音 \x1b[91m|\x1b[39m''' + - ''' 2 \x1b[91m|\x1b[39m - \x1b[91m|\x1b[39m Ποσειδῶν \x1b[91m|\x1b[39m''' + - ''' b \x1b[91m|\x1b[39m - ''' + '\x1b[91m+\x1b[39m' + ( - ('\x1b[91m-\x1b[39m' * 10) + - '\x1b[91m+\x1b[39m' + - ('\x1b[91m-\x1b[39m' * 6)) + - '\x1b[91m+\x1b[39m') + output = tabulate_adapter.adapter(iter(data), headers, table_format="psql") + PLUS = "\x1b[91m+\x1b[39m" + MINUS = "\x1b[91m-\x1b[39m" + PIPE = "\x1b[91m|\x1b[39m" + + expected = ( + dedent( + """\ + +----------+----+ + | h1 | h2 | + |----------+----| + | 观音 | 2 | + | Ποσειδῶν | b | + +----------+----+""" + ) + .replace("+", PLUS) + .replace("-", MINUS) + .replace("|", PIPE) + ) + + assert "\n".join(output) == expected -- cgit v1.2.3