]> git.ipfire.org Git - thirdparty/dnspython.git/commitdiff
dns.name.to_text() should return text. [Issue #209]
authorBob Halley <halley@dnspython.org>
Tue, 27 Sep 2016 21:42:23 +0000 (14:42 -0700)
committerBob Halley <halley@dnspython.org>
Tue, 27 Sep 2016 21:42:23 +0000 (14:42 -0700)
dns/name.py
tests/test_name.py

index 758a394c9a663d32cb7f21d8d19cc4cefcab1ad3..af99e443f8750a2f0891a31f85b6e496a6f7b93e 100644 (file)
@@ -35,7 +35,7 @@ except ImportError:
 import dns.exception
 import dns.wiredata
 
-from ._compat import long, binary_type, text_type, unichr
+from ._compat import long, binary_type, text_type, unichr, maybe_decode
 
 try:
     maxint = sys.maxint
@@ -466,7 +466,7 @@ class Name(object):
         return '<DNS name ' + self.__str__() + '>'
 
     def __str__(self):
-        return self.to_text(False).decode()
+        return self.to_text(False)
 
     def to_text(self, omit_final_dot=False):
         """Convert name to text format.
@@ -476,15 +476,15 @@ class Name(object):
         """
 
         if len(self.labels) == 0:
-            return b'@'
+            return maybe_decode(b'@')
         if len(self.labels) == 1 and self.labels[0] == b'':
-            return b'.'
+            return maybe_decode(b'.')
         if omit_final_dot and self.is_absolute():
             l = self.labels[:-1]
         else:
             l = self.labels
         s = b'.'.join(map(_escapify, l))
-        return s
+        return maybe_decode(s)
 
     def to_unicode(self, omit_final_dot=False, idna_codec=None):
         """Convert name to Unicode text format.
index b9ddd81688fda07b6e840a21b427379cbdd3eb73..999e5e471811325565afcc68d84d192c78de339d 100644 (file)
@@ -207,45 +207,45 @@ class NameTestCase(unittest.TestCase):
     def testToText1(self):
         n = dns.name.from_text('FOO.bar', origin=self.origin)
         t = n.to_text()
-        self.assertEqual(t, b'FOO.bar.example.')
+        self.assertEqual(t, 'FOO.bar.example.')
 
     def testToText2(self):
         n = dns.name.from_text('FOO.bar', origin=self.origin)
         t = n.to_text(True)
-        self.assertEqual(t, b'FOO.bar.example')
+        self.assertEqual(t, 'FOO.bar.example')
 
     def testToText3(self):
         n = dns.name.from_text('FOO.bar', origin=None)
         t = n.to_text()
-        self.assertEqual(t, b'FOO.bar')
+        self.assertEqual(t, 'FOO.bar')
 
     def testToText4(self):
         t = dns.name.empty.to_text()
-        self.assertEqual(t, b'@')
+        self.assertEqual(t, '@')
 
     def testToText5(self):
         t = dns.name.root.to_text()
-        self.assertEqual(t, b'.')
+        self.assertEqual(t, '.')
 
     def testToText6(self):
         n = dns.name.from_text('FOO bar', origin=None)
         t = n.to_text()
-        self.assertEqual(t, br'FOO\032bar')
+        self.assertEqual(t, r'FOO\032bar')
 
     def testToText7(self):
         n = dns.name.from_text(r'FOO\.bar', origin=None)
         t = n.to_text()
-        self.assertEqual(t, b'FOO\.bar')
+        self.assertEqual(t, 'FOO\.bar')
 
     def testToText8(self):
         n = dns.name.from_text(r'\070OO\.bar', origin=None)
         t = n.to_text()
-        self.assertEqual(t, b'FOO\.bar')
+        self.assertEqual(t, 'FOO\.bar')
 
     def testToText9(self):
         n = dns.name.from_text('FOO bar', origin=None)
         t = n.to_unicode()
-        self.assertEqual(t, r'FOO\032bar')
+        self.assertEqual(t, 'FOO\\032bar')
 
     def testToText10(self):
         t = dns.name.empty.to_unicode()