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)
Пример #3
0
    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)
Пример #4
0
    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)