jenkins-bot has submitted this change and it was merged. (
https://gerrit.wikimedia.org/r/585430 )
Change subject: [IMPR] Reduce similar codes in template_bot_tests.py
......................................................................
[IMPR] Reduce similar codes in template_bot_tests.py
Change-Id: I3c9055ea11cba4080e233a50ff05903a0d73a1e1
---
M tests/template_bot_tests.py
1 file changed, 15 insertions(+), 49 deletions(-)
Approvals:
Dvorapa: Looks good to me, approved
jenkins-bot: Verified
diff --git a/tests/template_bot_tests.py b/tests/template_bot_tests.py
index 9bb077f..d978eed 100644
--- a/tests/template_bot_tests.py
+++ b/tests/template_bot_tests.py
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
"""Test template bot module."""
#
-# (C) Pywikibot team, 2015-2019
+# (C) Pywikibot team, 2015-2020
#
# Distributed under the terms of the MIT license.
#
@@ -25,41 +25,30 @@
dry = True
- def test_no_match(self):
- """Test pages without any desired templates."""
- template = pywikibot.Page(self.site, 'Template:foobar')
+ def generator(self, title, xml='article-pear-0.10.xml'):
+ """Return XMLDumpPageGenerator list for a given template
title."""
+ template = pywikibot.Page(self.site, title, ns=10)
builder = _MultiTemplateMatchBuilder(self.site)
predicate = builder.search_any_predicate([template])
gen = XMLDumpPageGenerator(
- filename=join_xml_data_path('article-pear-0.10.xml'),
+ filename=join_xml_data_path(xml),
site=self.site,
text_predicate=predicate)
- pages = list(gen)
- self.assertIsEmpty(pages)
+ return list(gen)
+
+ def test_no_match(self):
+ """Test pages without any desired templates."""
+ self.assertIsEmpty(self.generator('foobar'))
def test_match(self):
"""Test pages with one match without
parameters."""
- template = pywikibot.Page(self.site, 'Template:stack begin')
- builder = _MultiTemplateMatchBuilder(self.site)
- predicate = builder.search_any_predicate([template])
- gen = XMLDumpPageGenerator(
- filename=join_xml_data_path('article-pear-0.10.xml'),
- site=self.site,
- text_predicate=predicate)
- pages = list(gen)
+ pages = self.generator('stack begin')
self.assertLength(pages, 1)
self.assertPageTitlesEqual(pages, ['Pear'], site=self.site)
def test_match_with_params(self):
"""Test pages with one match with parameters."""
- template = pywikibot.Page(self.site, 'Template:Taxobox')
- builder = _MultiTemplateMatchBuilder(self.site)
- predicate = builder.search_any_predicate([template])
- gen = XMLDumpPageGenerator(
- filename=join_xml_data_path('article-pear-0.10.xml'),
- site=self.site,
- text_predicate=predicate)
- pages = list(gen)
+ pages = self.generator('Taxobox')
self.assertLength(pages, 1)
self.assertPageTitlesEqual(pages, ['Pear'], site=self.site)
@@ -90,30 +79,14 @@
def test_match_msg(self):
"""Test pages with {{msg:..}}."""
- template = pywikibot.Page(self.site, 'Template:Foo')
- builder = _MultiTemplateMatchBuilder(self.site)
-
- predicate = builder.search_any_predicate([template])
- gen = XMLDumpPageGenerator(
- filename=join_xml_data_path('dummy-template.xml'),
- site=self.site,
- text_predicate=predicate)
- pages = list(gen)
+ pages = self.generator('Foo', 'dummy-template.xml')
self.assertLength(pages, 1)
self.assertPageTitlesEqual(pages, ['Fake page with msg'],
site=self.site)
def test_match_unnecessary_template_prefix(self):
"""Test pages with {{template:..}}."""
- template = pywikibot.Page(self.site, 'Template:Bar')
- builder = _MultiTemplateMatchBuilder(self.site)
-
- predicate = builder.search_any_predicate([template])
- gen = XMLDumpPageGenerator(
- filename=join_xml_data_path('dummy-template.xml'),
- site=self.site,
- text_predicate=predicate)
- pages = list(gen)
+ pages = self.generator('Bar', 'dummy-template.xml')
self.assertLength(pages, 1)
self.assertPageTitlesEqual(
pages, ['Fake page with unnecessary template prefix'],
@@ -121,14 +94,7 @@
def test_nested_match(self):
"""Test pages with one match inside another
template."""
- template = pywikibot.Page(self.site, 'Template:boo')
- builder = _MultiTemplateMatchBuilder(self.site)
- predicate = builder.search_any_predicate([template])
- gen = XMLDumpPageGenerator(
- filename=join_xml_data_path('dummy-template.xml'),
- site=self.site,
- text_predicate=predicate)
- pages = list(gen)
+ pages = self.generator('boo', 'dummy-template.xml')
self.assertLength(pages, 1)
self.assertPageTitlesEqual(
pages, ['Fake page with nested template'],
--
To view, visit
https://gerrit.wikimedia.org/r/585430
To unsubscribe, or for help writing mail filters, visit
https://gerrit.wikimedia.org/r/settings
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I3c9055ea11cba4080e233a50ff05903a0d73a1e1
Gerrit-Change-Number: 585430
Gerrit-PatchSet: 1
Gerrit-Owner: Xqt <info(a)gno.de>
Gerrit-Reviewer: Dvorapa <dvorapa(a)seznam.cz>
Gerrit-Reviewer: jenkins-bot (75)