jenkins-bot has submitted this change and it was merged.
Change subject: Add unit tests for YearPageGenerator and DayPageGenerator
......................................................................
Add unit tests for YearPageGenerator and DayPageGenerator
Add unit tests, TestYearPageGenerator and TestDayPageGenerator.
The tests are skipped on wikidata because of T85645.
Bug: T85313
Change-Id: I9b03d8a454485036be1510867340bb0f9e834728
---
M tests/pagegenerators_tests.py
1 file changed, 55 insertions(+), 1 deletion(-)
Approvals:
John Vandenberg: Looks good to me, approved
jenkins-bot: Verified
diff --git a/tests/pagegenerators_tests.py b/tests/pagegenerators_tests.py
index 39f5108..e1c6c0c 100755
--- a/tests/pagegenerators_tests.py
+++ b/tests/pagegenerators_tests.py
@@ -12,7 +12,7 @@
import sys
import pywikibot
-from pywikibot import pagegenerators
+from pywikibot import pagegenerators, date
from pywikibot.pagegenerators import (
PagesFromTitlesGenerator,
@@ -278,6 +278,60 @@
self.assertPagelistTitles(titles, self.expected_titles[site.case()])
+class TestYearPageGenerator(DefaultSiteTestCase):
+
+ """Test the year page generator."""
+
+ dry = True
+
+ def test_basic(self):
+ site = self.get_site()
+ # Skip if its wikidata because T85645
+ if site.family == "wikidata":
+ raise unittest.SkipTest
+ start = -20
+ end = 2026
+
+ i = 0
+ for page in pagegenerators.YearPageGenerator(start, end, site):
+ self.assertIsInstance(page, pywikibot.Page)
+ self.assertEqual(date.formatYear(site.lang, start + i), page.title())
+ self.assertNotEqual(page.title(), "0")
+ i += 1
+ if start + i == 0:
+ i += 1
+ self.assertEqual(start + i - 1, end)
+
+
+class TestDayPageGenerator(DefaultSiteTestCase):
+
+ """Test the day page generator."""
+
+ dry = True
+
+ def test_basic(self):
+ site = self.get_site()
+ # Skip if its wikidata because T85645
+ if site.family == "wikidata":
+ raise unittest.SkipTest
+ fd = date.FormatDate(site)
+ startMonth = 1
+ endMonth = 12
+
+ gen = pagegenerators.DayPageGenerator(startMonth, endMonth, site)
+
+ for page in pagegenerators.DayPageGenerator(startMonth, endMonth, site):
+ self.assertIsInstance(page, pywikibot.Page)
+ self.assertTrue(page.isAutoTitle)
+
+ expected = []
+ for month in range(startMonth, endMonth + 1):
+ for day in range(1, date.getNumberOfDaysInMonth(month) + 1):
+ expected.append(fd(month, day))
+
+ self.assertPageTitlesEqual(gen, expected)
+
+
class TestPreloadingGenerator(DefaultSiteTestCase):
"""Test preloading generator on lists."""
--
To view, visit
https://gerrit.wikimedia.org/r/182405
To unsubscribe, visit
https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I9b03d8a454485036be1510867340bb0f9e834728
Gerrit-PatchSet: 8
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Owner: Unicornisaurous <crazy4sb(a)gmail.com>
Gerrit-Reviewer: John Vandenberg <jayvdb(a)gmail.com>
Gerrit-Reviewer: Ladsgroup <ladsgroup(a)gmail.com>
Gerrit-Reviewer: Merlijn van Deen <valhallasw(a)arctus.nl>
Gerrit-Reviewer: Unicornisaurous <crazy4sb(a)gmail.com>
Gerrit-Reviewer: jenkins-bot <>