|
7 | 7 | from django.test import SimpleTestCase |
8 | 8 |
|
9 | 9 | from weblate.checks.chars import ( |
| 10 | + AcceleratorKeyCheck, |
10 | 11 | BeginNewlineCheck, |
11 | 12 | BeginSpaceCheck, |
12 | 13 | DoubleSpaceCheck, |
|
32 | 33 | from weblate.trans.tests.factories import make_check, make_unit |
33 | 34 |
|
34 | 35 |
|
| 36 | +class AcceleratorKeyCheckTest(CheckTestCase): |
| 37 | + check = AcceleratorKeyCheck() |
| 38 | + |
| 39 | + def setUp(self) -> None: |
| 40 | + super().setUp() |
| 41 | + self.test_good_matching = ("S&tring", "Str&ing", "accelerators") |
| 42 | + self.test_good_none = ("String", "String", "accelerators") |
| 43 | + self.test_good_flag = ("S&tring", "String", "") |
| 44 | + self.test_failure_1 = ("S&tring", "String", "accelerators") |
| 45 | + self.test_failure_2 = ("String", "Str&ing", "accelerators") |
| 46 | + self.test_failure_3 = ("S&tring", "S&tr&ing", "accelerators") |
| 47 | + |
| 48 | + def test_underscore_accelerator(self) -> None: |
| 49 | + self.do_test(False, ("S_tring", "Str_ing", "accelerators")) |
| 50 | + self.do_test(True, ("S_tring", "String", "accelerators")) |
| 51 | + self.do_test(True, ("String", "Str_ing", "accelerators")) |
| 52 | + |
| 53 | + def test_literal_ampersand(self) -> None: |
| 54 | + self.do_test(False, ("Walter & Sons", "Walter & Sons", "accelerators")) |
| 55 | + |
| 56 | + def test_multiple_accelerators(self) -> None: |
| 57 | + self.do_test(True, ("S&tr&ing", "S&tr&ing", "accelerators")) |
| 58 | + self.do_test(True, ("S&tring", "S_tring", "accelerators")) |
| 59 | + |
| 60 | + |
35 | 61 | class BeginNewlineCheckTest(CheckTestCase): |
36 | 62 | check = BeginNewlineCheck() |
37 | 63 |
|
|
0 commit comments