1
# Copyright (C) 2005-2013, 2016 Canonical Ltd
1
# Copyright (C) 2005-2011 Canonical Ltd
3
3
# This program is free software; you can redistribute it and/or modify
4
4
# it under the terms of the GNU General Public License as published by
283
281
self.checkDelta(logentry.delta, added=['file1', 'file2'])
286
class TestFormatSignatureValidity(tests.TestCaseWithTransport):
287
class UTFLoopbackGPGStrategy(gpg.LoopbackGPGStrategy):
288
def verify(self, content, testament):
289
return (gpg.SIGNATURE_VALID,
290
u'UTF8 Test \xa1\xb1\xc1\xd1\xe1\xf1 <jrandom@example.com>')
292
def has_signature_for_revision_id(self, revision_id):
295
def get_signature_text(self, revision_id):
298
def test_format_signature_validity_utf(self):
299
"""Check that GPG signatures containing UTF-8 names are formatted
301
# Monkey patch to use our UTF-8 generating GPGStrategy
302
self.overrideAttr(gpg, 'GPGStrategy', self.UTFLoopbackGPGStrategy)
303
wt = self.make_branch_and_tree('.')
304
revid = wt.commit('empty commit')
305
repo = wt.branch.repository
306
# Monkey patch out checking if this rev is actually signed, since we
307
# can't sign it without a heavier TestCase and LoopbackGPGStrategy
308
# doesn't care anyways.
309
self.overrideAttr(repo, 'has_signature_for_revision_id',
310
self.has_signature_for_revision_id)
311
self.overrideAttr(repo, 'get_signature_text', self.get_signature_text)
312
out = log.format_signature_validity(revid, repo)
314
u'valid signature from UTF8 Test \xa1\xb1\xc1\xd1\xe1\xf1 <jrandom@example.com>',
318
284
class TestShortLogFormatter(TestCaseForLogFormatter):
320
286
def test_trailing_newlines(self):
1343
1309
class TestLogWithBugs(TestCaseForLogFormatter, TestLogMixin):
1345
1311
def setUp(self):
1346
super(TestLogWithBugs, self).setUp()
1312
TestCaseForLogFormatter.setUp(self)
1347
1313
log.properties_handler_registry.register(
1348
1314
'bugs_properties_handler',
1349
1315
log._bugs_properties_handler)
1423
1389
class TestLogForAuthors(TestCaseForLogFormatter):
1425
1391
def setUp(self):
1426
super(TestLogForAuthors, self).setUp()
1392
TestCaseForLogFormatter.setUp(self)
1427
1393
self.wt = self.make_standard_commit('nicky',
1428
1394
authors=['John Doe <jdoe@example.com>',
1429
1395
'Jane Rey <jrey@example.com>'])
1660
1626
request = log.make_log_request_dict(limit=10)
1661
1627
log.Logger(b, request).show(log_formatter)
1662
1628
# should have all three revisions:
1663
self.assertEqual(len(log_formatter.revisions), 3)
1629
self.assertEquals(len(log_formatter.revisions), 3)
1665
1631
del log_formatter
1666
1632
log_formatter = LogCatcher()
1668
1634
request = log.make_log_request_dict(limit=10, levels=1)
1669
1635
log.Logger(b, request).show(log_formatter)
1670
1636
# should now only have 2 revisions:
1671
self.assertEqual(len(log_formatter.revisions), 2)
1637
self.assertEquals(len(log_formatter.revisions), 2)