jenkins-bot has submitted this change and it was merged.
Change subject: Adjust recent added tests for case-sensitive site ......................................................................
Adjust recent added tests for case-sensitive site
2230213 caused new errors on the Travis wiktionary jobs.
Also fix non-pep8 method names.
Bug: T134676 Change-Id: I4eabed2fb7ebeaf1516bb1f80c00a50050efb51c --- M tests/textlib_tests.py 1 file changed, 25 insertions(+), 9 deletions(-)
Approvals: John Vandenberg: Looks good to me, but someone else must approve Xqt: Looks good to me, approved jenkins-bot: Verified
diff --git a/tests/textlib_tests.py b/tests/textlib_tests.py index e4dbc57..e6d67ff 100644 --- a/tests/textlib_tests.py +++ b/tests/textlib_tests.py @@ -1353,44 +1353,60 @@
dry = True
- def test_noMatch(self): + @classmethod + def setUpClass(cls): + """Cache namespace 10 (Template) case sensitivity.""" + super(TestMultiTemplateMatchBuilder, cls).setUpClass() + cls._template_not_case_sensitive = ( + cls.get_site().namespaces.TEMPLATE.case != 'case-sensitive') + + def test_no_match(self): """Test text without any desired templates.""" string = 'The quick brown fox' builder = _MultiTemplateMatchBuilder(self.site) self.assertIsNone(re.search(builder.pattern('quick'), string))
- def test_Match(self): + def test_match(self): """Test text with one match without parameters.""" string = 'The {{quick}} brown fox' builder = _MultiTemplateMatchBuilder(self.site) self.assertIsNotNone(re.search(builder.pattern('quick'), string)) - self.assertIsNotNone(re.search(builder.pattern('Quick'), string)) + self.assertEqual(bool(re.search(builder.pattern('Quick'), string)), + self._template_not_case_sensitive)
def test_match_with_params(self): """Test text with one match with parameters.""" - string = 'The {{Quick|brown}} fox' + string = 'The {{quick|brown}} fox' builder = _MultiTemplateMatchBuilder(self.site) self.assertIsNotNone(re.search(builder.pattern('quick'), string)) - self.assertIsNotNone(re.search(builder.pattern('Quick'), string)) + self.assertEqual(bool(re.search(builder.pattern('Quick'), string)), + self._template_not_case_sensitive)
def test_match_msg(self): """Test text with {{msg:..}}.""" string = 'The {{msg:quick}} brown fox' builder = _MultiTemplateMatchBuilder(self.site) self.assertIsNotNone(re.search(builder.pattern('quick'), string)) - self.assertIsNotNone(re.search(builder.pattern('Quick'), string)) + self.assertEqual(bool(re.search(builder.pattern('Quick'), string)), + self._template_not_case_sensitive)
def test_match_template_prefix(self): """Test pages with {{template:..}}.""" string = 'The {{%s:%s}} brown fox' template = 'template' builder = _MultiTemplateMatchBuilder(self.site) + if self._template_not_case_sensitive: + quick_list = ('quick', 'Quick') + else: + quick_list = ('quick', ) + for t in (template.upper(), template.lower(), template.title()): - for q in ('quick', 'Quick'): + for q in quick_list: self.assertIsNotNone(re.search(builder.pattern('quick'), string % (t, q))) - self.assertIsNotNone(re.search(builder.pattern('Quick'), - string % (t, q))) + self.assertEqual(bool(re.search(builder.pattern('Quick'), + string % (t, q))), + self._template_not_case_sensitive)
class TestGetLanguageLinks(SiteAttributeTestCase):
pywikibot-commits@lists.wikimedia.org