Esempio n. 1
0
class PlaceholdersTest(CheckTestCase):
    check = PlaceholderCheck()

    def setUp(self):
        super().setUp()
        self.test_good_matching = ("string $URL$", "string $URL$",
                                   "placeholders:$URL$")
        self.test_good_none = ("string", "string", "placeholders:")
        self.test_good_ignore = ("$URL", "$OTHER", "")
        self.test_failure_1 = ("string $URL$", "string", "placeholders:$URL$")
        self.test_failure_2 = ("string $URL$", "string $URL",
                               "placeholders:$URL$")
        self.test_failure_3 = (
            "string $URL$ $2$",
            "string $URL$",
            "placeholders:$URL$:$2$:",
        )
        self.test_highlight = ("placeholders:$URL$", "See $URL$", [(4, 9,
                                                                    "$URL$")])

    def do_test(self, expected, data, lang=None):
        # Skip using check_single as the Check does not use that
        return

    def test_description(self):
        unit = Unit(source="string $URL$", target="string")
        unit.__dict__["all_flags"] = Flags("placeholders:$URL$")
        check = Check(unit=unit)
        self.assertEqual(
            self.check.get_description(check),
            "Translation is missing some placeholders: $URL$",
        )
Esempio n. 2
0
class PlaceholdersTest(CheckTestCase):
    check = PlaceholderCheck()

    def setUp(self):
        super().setUp()
        self.test_good_matching = ("string $URL$", "string $URL$", "placeholders:$URL$")
        self.test_good_none = ("string", "string", "placeholders:")
        self.test_good_ignore = ("$URL", "$OTHER")
        self.test_failure_1 = ("string $URL$", "string", "placeholders:$URL$")
        self.test_failure_2 = ("string $URL$", "string $URL", "placeholders:$URL$")
        self.test_failure_3 = (
            "string $URL$ $2$",
            "string $URL$",
            "placeholders:$URL$:$2$:",
        )
        self.test_highlight = ("placeholders:$URL$", "See $URL$", [(4, 9, "$URL$")])

    def do_test(self, expected, data, lang=None):
        return
Esempio n. 3
0
class PlaceholdersTest(CheckTestCase):
    check = PlaceholderCheck()

    def setUp(self):
        super().setUp()
        self.test_good_matching = ("string $URL$", "string $URL$",
                                   "placeholders:$URL$")
        self.test_good_none = ("string", "string", "placeholders:")
        self.test_good_ignore = ("$URL", "$OTHER", "")
        self.test_failure_1 = ("string $URL$", "string", "placeholders:$URL$")
        self.test_failure_2 = ("string $URL$", "string $URL",
                               "placeholders:$URL$")
        self.test_failure_3 = (
            "string $URL$ $2$",
            "string $URL$",
            "placeholders:$URL$:$2$:",
        )
        self.test_highlight = ("placeholders:$URL$", "See $URL$", [(4, 9,
                                                                    "$URL$")])

    def do_test(self, expected, data, lang=None):
        # Skip using check_single as the Check does not use that
        return

    def test_description(self):
        unit = Unit(source="string $URL$", target="string")
        unit.__dict__["all_flags"] = Flags("placeholders:$URL$")
        check = Check(unit=unit)
        self.assertHTMLEqual(
            self.check.get_description(check),
            """
            Following format strings are missing:
            <span class="hlcheck" data-value="$URL$">$URL$</span>
            """,
        )

    def test_regexp(self):
        unit = Unit(source="string $URL$", target="string $FOO$")
        unit.__dict__["all_flags"] = Flags(
            r"""placeholders:r"(\$)([^$]*)(\$)" """)
        check = Check(unit=unit)
        self.assertHTMLEqual(
            self.check.get_description(check),
            """
            Following format strings are missing:
            <span class="hlcheck" data-value="$URL$">$URL$</span>
            <br />
            Following format strings are extra:
            <span class="hlcheck" data-value="$FOO$">$FOO$</span>
            """,
        )

    def test_whitespace(self):
        unit = Unit(source="string {URL} ", target="string {URL}")
        unit.__dict__["all_flags"] = Flags(r"""placeholders:r"\s?{\w+}\s?" """)
        check = Check(unit=unit)
        self.assertHTMLEqual(
            self.check.get_description(check),
            """
            Following format strings are missing:
            <span class="hlcheck" data-value=" {URL} ">
            <span class="hlspace"><span class="space-space"><span class="sr-only">
            </span></span></span>
            {URL}
            <span class="hlspace"><span class="space-space"><span class="sr-only">
            </span></span></span>
            </span>
            <br />
            Following format strings are extra:
            <span class="hlcheck" data-value=" {URL}">
            <span class="hlspace"><span class="space-space"><span class="sr-only">
            </span></span></span>
            {URL}
            </span>
            """,
        )