mirror of
https://github.com/valitydev/salt.git
synced 2024-11-06 16:45:27 +00:00
84 lines
2.5 KiB
Python
84 lines
2.5 KiB
Python
# -*- coding: utf-8 -*-
|
|
'''
|
|
Unit tests for salt._compat
|
|
'''
|
|
|
|
# Import Python libs
|
|
from __future__ import absolute_import, print_function, unicode_literals
|
|
import logging
|
|
import sys
|
|
|
|
# Import Salt Testing libs
|
|
from tests.support.unit import TestCase
|
|
|
|
# Import Salt libs
|
|
import salt._compat as compat
|
|
|
|
# Import 3rd Party libs
|
|
from salt.ext.six import binary_type, text_type
|
|
|
|
log = logging.getLogger(__name__)
|
|
PY3 = sys.version_info.major == 3
|
|
|
|
|
|
class CompatTestCase(TestCase):
|
|
def test_text(self):
|
|
ret = compat.text_('test string')
|
|
self.assertTrue(isinstance(ret, text_type))
|
|
|
|
def test_text_binary(self):
|
|
ret = compat.text_(b'test string')
|
|
self.assertTrue(isinstance(ret, text_type))
|
|
|
|
def test_bytes(self):
|
|
ret = compat.bytes_('test string')
|
|
self.assertTrue(isinstance(ret, binary_type))
|
|
|
|
def test_bytes_binary(self):
|
|
ret = compat.bytes_(b'test string')
|
|
self.assertTrue(isinstance(ret, binary_type))
|
|
|
|
def test_ascii_native(self):
|
|
ret = compat.ascii_native_('test string')
|
|
self.assertTrue(isinstance(ret, str))
|
|
|
|
def test_ascii_native_binary(self):
|
|
ret = compat.ascii_native_(b'test string')
|
|
self.assertTrue(isinstance(ret, str))
|
|
|
|
def test_native(self):
|
|
ret = compat.native_('test string')
|
|
self.assertTrue(isinstance(ret, str))
|
|
|
|
def test_native_binary(self):
|
|
ret = compat.native_(b'test string')
|
|
self.assertTrue(isinstance(ret, str))
|
|
|
|
def test_string_io(self):
|
|
ret = compat.string_io('test string')
|
|
if PY3:
|
|
expected = 'io.StringIO object'
|
|
else:
|
|
expected = 'cStringIO.StringI object'
|
|
self.assertTrue(expected in repr(ret))
|
|
|
|
def test_string_io_unicode(self):
|
|
ret = compat.string_io(u'test string \xf8')
|
|
if PY3:
|
|
expected = 'io.StringIO object'
|
|
else:
|
|
expected = 'StringIO.StringIO instance'
|
|
self.assertTrue(expected in repr(ret))
|
|
|
|
def test_ipv6_class__is_packed_binary(self):
|
|
ipv6 = compat.IPv6AddressScoped('2001:db8::')
|
|
self.assertEqual(str(ipv6), '2001:db8::')
|
|
|
|
def test_ipv6_class__is_packed_binary_integer(self):
|
|
ipv6 = compat.IPv6AddressScoped(42540766411282592856903984951653826560)
|
|
self.assertEqual(str(ipv6), '2001:db8::')
|
|
|
|
def test_ipv6_class__is_packed_binary__issue_51831(self):
|
|
ipv6 = compat.IPv6AddressScoped(b'sixteen.digit.bn')
|
|
self.assertEqual(str(ipv6), '7369:7874:6565:6e2e:6469:6769:742e:626e')
|