summaryrefslogtreecommitdiffstats
path: root/tests/tabular_output/test_delimited_output_adapter.py
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2021-01-30 08:13:47 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2021-02-07 10:48:06 +0000
commit57bc0d56d7e741e1e99d96f14e7ab93232440a16 (patch)
tree0d4631d7416ba98b7a414dc825419afd5b177be0 /tests/tabular_output/test_delimited_output_adapter.py
parentInitial commit. (diff)
downloadcli-helpers-57bc0d56d7e741e1e99d96f14e7ab93232440a16.tar.xz
cli-helpers-57bc0d56d7e741e1e99d96f14e7ab93232440a16.zip
Adding upstream version 2.1.0.upstream/2.1.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'tests/tabular_output/test_delimited_output_adapter.py')
-rw-r--r--tests/tabular_output/test_delimited_output_adapter.py48
1 files changed, 48 insertions, 0 deletions
diff --git a/tests/tabular_output/test_delimited_output_adapter.py b/tests/tabular_output/test_delimited_output_adapter.py
new file mode 100644
index 0000000..3627b84
--- /dev/null
+++ b/tests/tabular_output/test_delimited_output_adapter.py
@@ -0,0 +1,48 @@
+# -*- coding: utf-8 -*-
+"""Test the delimited output adapter."""
+
+from __future__ import unicode_literals
+from textwrap import dedent
+
+import pytest
+
+from cli_helpers.tabular_output import delimited_output_adapter
+
+
+def test_csv_wrapper():
+ """Test the delimited output adapter."""
+ # Test comma-delimited output.
+ data = [['abc', '1'], ['d', '456']]
+ headers = ['letters', 'number']
+ output = delimited_output_adapter.adapter(iter(data), headers, dialect='unix')
+ assert "\n".join(output) == dedent('''\
+ "letters","number"\n\
+ "abc","1"\n\
+ "d","456"''')
+
+ # Test tab-delimited output.
+ data = [['abc', '1'], ['d', '456']]
+ headers = ['letters', 'number']
+ output = delimited_output_adapter.adapter(
+ iter(data), headers, table_format='csv-tab', dialect='unix')
+ assert "\n".join(output) == dedent('''\
+ "letters"\t"number"\n\
+ "abc"\t"1"\n\
+ "d"\t"456"''')
+
+ with pytest.raises(ValueError):
+ output = delimited_output_adapter.adapter(
+ iter(data), headers, table_format='foobar')
+ list(output)
+
+
+def test_unicode_with_csv():
+ """Test that the csv wrapper can handle non-ascii characters."""
+ data = [['观音', '1'], ['Ποσειδῶν', '456']]
+ headers = ['letters', 'number']
+ output = delimited_output_adapter.adapter(data, headers)
+ assert "\n".join(output) == dedent('''\
+ letters,number\n\
+ 观音,1\n\
+ Ποσειδῶν,456''')
+