summaryrefslogtreecommitdiffstats
path: root/tests/test_utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_utils.py')
-rw-r--r--tests/test_utils.py53
1 files changed, 30 insertions, 23 deletions
diff --git a/tests/test_utils.py b/tests/test_utils.py
index a136d02..ba43937 100644
--- a/tests/test_utils.py
+++ b/tests/test_utils.py
@@ -8,63 +8,70 @@ from cli_helpers import utils
def test_bytes_to_string_hexlify():
"""Test that bytes_to_string() hexlifies binary data."""
- assert utils.bytes_to_string(b'\xff') == '0xff'
+ assert utils.bytes_to_string(b"\xff") == "0xff"
def test_bytes_to_string_decode_bytes():
"""Test that bytes_to_string() decodes bytes."""
- assert utils.bytes_to_string(b'foobar') == 'foobar'
+ assert utils.bytes_to_string(b"foobar") == "foobar"
+
+
+def test_bytes_to_string_unprintable():
+ """Test that bytes_to_string() hexlifies data that is valid unicode, but unprintable."""
+ assert utils.bytes_to_string(b"\0") == "0x00"
+ assert utils.bytes_to_string(b"\1") == "0x01"
+ assert utils.bytes_to_string(b"a\0") == "0x6100"
def test_bytes_to_string_non_bytes():
"""Test that bytes_to_string() returns non-bytes untouched."""
- assert utils.bytes_to_string('abc') == 'abc'
+ assert utils.bytes_to_string("abc") == "abc"
assert utils.bytes_to_string(1) == 1
def test_to_string_bytes():
"""Test that to_string() converts bytes to a string."""
- assert utils.to_string(b"foo") == 'foo'
+ assert utils.to_string(b"foo") == "foo"
def test_to_string_non_bytes():
"""Test that to_string() converts non-bytes to a string."""
- assert utils.to_string(1) == '1'
- assert utils.to_string(2.29) == '2.29'
+ assert utils.to_string(1) == "1"
+ assert utils.to_string(2.29) == "2.29"
def test_truncate_string():
"""Test string truncate preprocessor."""
- val = 'x' * 100
- assert utils.truncate_string(val, 10) == 'xxxxxxx...'
-
- val = 'x ' * 100
- assert utils.truncate_string(val, 10) == 'x x x x...'
-
- val = 'x' * 100
- assert utils.truncate_string(val) == 'x' * 100
-
- val = ['x'] * 100
- val[20] = '\n'
- str_val = ''.join(val)
+ val = "x" * 100
+ assert utils.truncate_string(val, 10) == "xxxxxxx..."
+
+ val = "x " * 100
+ assert utils.truncate_string(val, 10) == "x x x x..."
+
+ val = "x" * 100
+ assert utils.truncate_string(val) == "x" * 100
+
+ val = ["x"] * 100
+ val[20] = "\n"
+ str_val = "".join(val)
assert utils.truncate_string(str_val, 10, skip_multiline_string=True) == str_val
def test_intlen_with_decimal():
"""Test that intlen() counts correctly with a decimal place."""
- assert utils.intlen('11.1') == 2
- assert utils.intlen('1.1') == 1
+ assert utils.intlen("11.1") == 2
+ assert utils.intlen("1.1") == 1
def test_intlen_without_decimal():
"""Test that intlen() counts correctly without a decimal place."""
- assert utils.intlen('11') == 2
+ assert utils.intlen("11") == 2
def test_filter_dict_by_key():
"""Test that filter_dict_by_key() filter unwanted items."""
- keys = ('foo', 'bar')
- d = {'foo': 1, 'foobar': 2}
+ keys = ("foo", "bar")
+ d = {"foo": 1, "foobar": 2}
fd = utils.filter_dict_by_key(d, keys)
assert len(fd) == 1
assert all([k in keys for k in fd])