diff --git a/SoftLayer/CLI/formatting.py b/SoftLayer/CLI/formatting.py index 4f10980de..6f35a9855 100644 --- a/SoftLayer/CLI/formatting.py +++ b/SoftLayer/CLI/formatting.py @@ -50,7 +50,7 @@ def format_output(data, fmt='table'): # pylint: disable=R0911,R0912 # responds to .formatted if hasattr(data, 'formatted'): if fmt == 'table': - return str(data.formatted) + return data.formatted # responds to .separator if hasattr(data, 'separator'): diff --git a/SoftLayer/tests/CLI/helper_tests.py b/SoftLayer/tests/CLI/helper_tests.py index 7862ef008..873d58a89 100644 --- a/SoftLayer/tests/CLI/helper_tests.py +++ b/SoftLayer/tests/CLI/helper_tests.py @@ -1,3 +1,4 @@ +# -*- coding: utf-8 -*- """ SoftLayer.tests.CLI.helper_tests ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -357,6 +358,17 @@ def test_format_output_python_keyvaluetable(self): ret = formatting.format_output(t, 'python') self.assertEqual({'nothing': None}, ret) + def test_format_output_unicode(self): + t = formatting.format_output('☃', 'raw') + self.assertEqual('☃', t) + + item = formatting.FormattedItem('raw ☃', '☃') + t = formatting.format_output(item) + self.assertEqual('☃', t) + + t = formatting.format_output(item, 'raw') + self.assertEqual('raw ☃', t) + class TestTemplateArgs(testing.TestCase):