Unicornisaurous has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/182405

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 pywikibot/families/wikidata_family.py
M tests/pagegenerators_tests.py
2 files changed, 47 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/pywikibot/core 
refs/changes/05/182405/1

diff --git a/pywikibot/families/wikidata_family.py 
b/pywikibot/families/wikidata_family.py
index 1673439..ada5cec 100644
--- a/pywikibot/families/wikidata_family.py
+++ b/pywikibot/families/wikidata_family.py
@@ -17,7 +17,7 @@
         self.name = 'wikidata'
         self.langs = {
             'wikidata': 'www.wikidata.org',
-            'test': 'test.wikidata.org',
+            #'test': 'test.wikidata.org',
         }
 
         self.interwiki_forward = 'wikipedia'
diff --git a/tests/pagegenerators_tests.py b/tests/pagegenerators_tests.py
index 39f5108..214c21e 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,51 @@
         self.assertPagelistTitles(titles, self.expected_titles[site.case()])
 
 
+class TestYearPageGenerator(DefaultSiteTestCase):
+
+    """Test the year page generator"""
+
+    def test_basic(self):
+        site = self.get_site()
+        #Skip if its wikidata because T85645
+        if site.family == "wikidata":
+            raise unittest.SkipTest
+        start = 42
+        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(asLink=False));
+            i += 1
+        self.assertEqual(start+i-1, end)
+
+class TestDayPageGenerator(DefaultSiteTestCase):
+
+    """Test the day page generator"""
+
+    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)
+
+        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: newchange
Gerrit-Change-Id: I9b03d8a454485036be1510867340bb0f9e834728
Gerrit-PatchSet: 1
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Owner: Unicornisaurous <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to