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$", )
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
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> """, )