test: use Signature(encoding=...) in test_commit and test_signature.

Correct tests now that the default name encoding is ASCII.
This commit is contained in:
W. Trevor King 2012-09-13 13:27:04 -04:00
parent b3b7e98f92
commit 36ae908de2
2 changed files with 15 additions and 10 deletions

@ -68,7 +68,9 @@ class CommitTest(utils.BareRepoTestCase):
repo = self.repo repo = self.repo
message = 'New commit.\n\nMessage with non-ascii chars: ééé.\n' message = 'New commit.\n\nMessage with non-ascii chars: ééé.\n'
committer = Signature('John Doe', 'jdoe@example.com', 12346, 0) committer = Signature('John Doe', 'jdoe@example.com', 12346, 0)
author = Signature('J. David Ibáñez', 'jdavid@example.com', 12345, 0) author = Signature(
'J. David Ibáñez', 'jdavid@example.com', 12345, 0,
encoding='utf-8')
tree = '967fce8df97cc71722d3c2a5930ef3e6f1d27b12' tree = '967fce8df97cc71722d3c2a5930ef3e6f1d27b12'
tree_prefix = tree[:5] tree_prefix = tree[:5]
too_short_prefix = tree[:3] too_short_prefix = tree[:3]

@ -37,26 +37,29 @@ from .utils import NoRepoTestCase
class SignatureTest(NoRepoTestCase): class SignatureTest(NoRepoTestCase):
def test_default(self): def test_default(self):
signature = Signature('Foo Ibáñez', 'foo@example.com', 1322174594, 60) signature = Signature(
'Foo', 'foo@example.com', 1322174594, 60)
encoding = signature._encoding encoding = signature._encoding
self.assertEqual(encoding, 'utf-8') self.assertEqual(encoding, 'ascii')
self.assertEqual(signature.name, signature._name.decode(encoding)) self.assertEqual(signature.name, signature._name.decode(encoding))
self.assertEqual(signature.name.encode(encoding), signature._name) self.assertEqual(signature.name.encode(encoding), signature._name)
def test_ascii(self):
self.assertRaises(
UnicodeEncodeError, Signature, 'Foo Ibáñez', 'foo@example.com')
def test_latin1(self): def test_latin1(self):
encoding = 'iso-8859-1' encoding = 'iso-8859-1'
signature = Signature('Foo Ibáñez', 'foo@example.com', 1322174594, 60, signature = Signature(
encoding) 'Foo Ibáñez', 'foo@example.com', encoding=encoding)
self.assertEqual(encoding, signature._encoding) self.assertEqual(encoding, signature._encoding)
self.assertEqual(signature.name, signature._name.decode(encoding)) self.assertEqual(signature.name, signature._name.decode(encoding))
self.assertEqual(signature.name.encode(encoding), signature._name) self.assertEqual(signature.name.encode(encoding), signature._name)
def test_now(self): def test_now(self):
self.assertRaises(TypeError, Signature, 'Foo Ibáñez', encoding = 'utf-8'
'foo@example.com', 1322174594) signature = Signature(
signature = Signature('Foo Ibáñez', 'foo@example.com') 'Foo Ibáñez', 'foo@example.com', encoding=encoding)
encoding = signature._encoding
self.assertEqual(encoding, 'utf-8')
self.assertEqual(encoding, signature._encoding) self.assertEqual(encoding, signature._encoding)
self.assertEqual(signature.name, signature._name.decode(encoding)) self.assertEqual(signature.name, signature._name.decode(encoding))
self.assertEqual(signature.name.encode(encoding), signature._name) self.assertEqual(signature.name.encode(encoding), signature._name)