def test_compose_approval_conflict_notice_summarizes_conflict(self): # The output from compose_approval_conflict_notice summarizes # the conflict: what translation domain is affected and how many # clashing templates are there? domain = self.factory.getUniqueString() num_templates = self.factory.getUniqueInteger() notice = compose_approval_conflict_notice(domain, num_templates, []) self.assertIn("translation domain '%s'" % domain, notice) self.assertIn("There are %d competing templates" % num_templates, notice)
def test_compose_approval_conflict_notice_summarizes_conflict(self): # The output from compose_approval_conflict_notice summarizes # the conflict: what translation domain is affected and how many # clashing templates are there? domain = self.factory.getUniqueString() num_templates = self.factory.getUniqueInteger() notice = compose_approval_conflict_notice(domain, num_templates, []) self.assertIn("translation domain '%s'" % domain, notice) self.assertIn( "There are %d competing templates" % num_templates, notice)
def test_compose_approval_conflict_notice_says_when_there_is_more(self): # If there are more clashing templates than the sample lists, # the list of names ends with a note to that effect. class FakePOTemplate: def __init__(self, displayname): self.displayname = displayname domain = self.factory.getUniqueString() samples = [ FakePOTemplate(self.factory.getUniqueString()) for counter in range(3)] samples.sort(key=attrgetter('displayname')) notice = compose_approval_conflict_notice(domain, 4, samples) self.assertIn( '"%s";\nand more (not shown here).\n' % samples[-1].displayname, notice)
def test_compose_approval_conflict_notice_shows_sample(self): # The notice includes the list of sample templates' display # names, one per line, separated by semicolons but terminated # with a full stop. class FakePOTemplate: def __init__(self, displayname): self.displayname = displayname domain = self.factory.getUniqueString() samples = [ FakePOTemplate(self.factory.getUniqueString()) for counter in range(3)] sorted_samples = sorted(samples, key=attrgetter('displayname')) notice = compose_approval_conflict_notice(domain, 3, samples) self.assertIn( ';\n'.join([ '"%s"' % sample.displayname for sample in sorted_samples]), notice) self.assertIn('"%s".\n' % sorted_samples[-1].displayname, notice)