Merging upstream version 2.2.0.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
ab1302c465
commit
95bca6b33d
42 changed files with 1085 additions and 840 deletions
|
@ -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 = [["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}}', '{å,魚,текст}'], ['{}', '<null>', '{<null>}']]
|
||||
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}} | {å,魚,текст} |
|
||||
| {} | <null> | {<null>} |
|
||||
+----------------+------------------------+--------------+''')
|
||||
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}}", "{å,魚,текст}"], ["{}", "<null>", "{<null>}"]]
|
||||
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}} | {å,魚,текст} |
|
||||
| {} | <null> | {<null>} |
|
||||
+--------------+----------------------+--------------+"""
|
||||
)
|
||||
|
||||
|
||||
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;"
|
||||
|+ <!-- caption -->
|
||||
|-
|
||||
|
@ -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')
|
||||
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"
|
||||
|
||||
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')
|
||||
expected = (
|
||||
dedent(
|
||||
"""\
|
||||
+----------+----+
|
||||
| h1 | h2 |
|
||||
|----------+----|
|
||||
| 观音 | 2 |
|
||||
| Ποσειδῶν | b |
|
||||
+----------+----+"""
|
||||
)
|
||||
.replace("+", PLUS)
|
||||
.replace("-", MINUS)
|
||||
.replace("|", PIPE)
|
||||
)
|
||||
|
||||
assert "\n".join(output) == expected
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue