Revision: 5977
Author: russblau
Date: 2008-10-15 17:35:14 +0000 (Wed, 15 Oct 2008)
Log Message:
-----------
more tests and bug-fixes
Modified Paths:
--------------
branches/rewrite/pywikibot/site.py
branches/rewrite/pywikibot/tests/site_tests.py
Modified: branches/rewrite/pywikibot/site.py
===================================================================
--- branches/rewrite/pywikibot/site.py 2008-10-15 17:28:48 UTC (rev 5976)
+++ branches/rewrite/pywikibot/site.py 2008-10-15 17:35:14 UTC (rev 5977)
@@ -1431,7 +1431,7 @@
"blocks: starttime must be before endtime with reverse=True")
return
else:
- if endtime < starttime:
+ if endtime > starttime:
logger.error(
"blocks: endtime must be before starttime with reverse=False")
return
@@ -1443,7 +1443,7 @@
if endtime:
bkgen.request["bkend"] = endtime
if reverse:
- bkgen.request["bkdir"] = newer
+ bkgen.request["bkdir"] = "newer"
if blockids:
bkgen.request["bkids"] = blockids
if users:
Modified: branches/rewrite/pywikibot/tests/site_tests.py
===================================================================
--- branches/rewrite/pywikibot/tests/site_tests.py 2008-10-15 17:28:48 UTC (rev 5976)
+++ branches/rewrite/pywikibot/tests/site_tests.py 2008-10-15 17:35:14 UTC (rev 5977)
@@ -401,15 +401,77 @@
self.assertTrue(len(ai) <= 10)
self.assertTrue(all(isinstance(image, pywikibot.ImagePage)
for image in ai))
+ for impage in mysite.allimages(start="Ba", limit=5):
+ self.assertType(impage, pywikibot.ImagePage)
+ self.assertTrue(mysite.page_exists(impage))
+ self.assertTrue(impage.title(withNamespace=False) >= "Ba")
+ # Bug # 15985
+## for impage in mysite.allimages(start="Da", reverse=True, limit=5):
+## self.assertType(impage, pywikibot.ImagePage)
+## self.assertTrue(mysite.page_exists(impage))
+## self.assertTrue(impage.title() <= "Da")
+ for impage in mysite.allimages(prefix="Ch", limit=5):
+ self.assertType(impage, pywikibot.ImagePage)
+ self.assertTrue(mysite.page_exists(impage))
+ self.assertTrue(impage.title(withNamespace=False).startswith("Ch"))
+ for impage in mysite.allimages(minsize=100, limit=5):
+ self.assertType(impage, pywikibot.ImagePage)
+ self.assertTrue(mysite.page_exists(impage))
+ self.assertTrue(len(impage.text) >= 100)
+ for impage in mysite.allimages(maxsize=200, limit=5):
+ self.assertType(impage, pywikibot.ImagePage)
+ self.assertTrue(mysite.page_exists(impage))
+ self.assertTrue(len(impage.text) <= 200)
def testBlocks(self):
"""Test the site.blocks() method"""
+ props = ("id", "by", "timestamp", "expiry", "reason")
bl = list(mysite.blocks(limit=10))
self.assertTrue(len(bl) <= 10)
- self.assertTrue(all(isinstance(block, dict)
- for block in bl))
+ for block in bl:
+ self.assertType(block, dict)
+ for prop in props:
+ self.assertTrue(prop in block)
+ # timestamps should be in descending order
+ timestamps = [block['timestamp'] for block in bl]
+ for t in xrange(1, len(timestamps)):
+ self.assertTrue(timestamps[t] < timestamps[t-1])
+ b2 = list(mysite.blocks(limit=10, reverse=True))
+ self.assertTrue(len(b2) <= 10)
+ for block in b2:
+ self.assertType(block, dict)
+ for prop in props:
+ self.assertTrue(prop in block)
+ # timestamps should be in ascending order
+ timestamps = [block['timestamp'] for block in b2]
+ for t in xrange(1, len(timestamps)):
+ self.assertTrue(timestamps[t] > timestamps[t-1])
+
+ for block in mysite.blocks(starttime="20080101000001", limit=5):
+ self.assertType(block, dict)
+ for prop in props:
+ self.assertTrue(prop in block)
+ for block in mysite.blocks(endtime="20080131235959", limit=5):
+ self.assertType(block, dict)
+ for prop in props:
+ self.assertTrue(prop in block)
+ for block in mysite.blocks(starttime="20080202000001",
+ endtime="20080202235959",
+ reverse=True, limit=5):
+ self.assertType(block, dict)
+ for prop in props:
+ self.assertTrue(prop in block)
+ for block in mysite.blocks(starttime="20080203235959",
+ endtime="20080203000001",
+ limit=5):
+ self.assertType(block, dict)
+ for prop in props:
+ self.assertTrue(prop in block)
+
+# TODO
+
def testExturlusage(self):
"""Test the site.exturlusage() method"""
@@ -418,6 +480,8 @@
self.assertTrue(len(eu) <= 10)
self.assertTrue(all(isinstance(link, pywikibot.Page)
for link in eu))
+ for link in mysite.exturlusage(url, namespaces=[2, 3], limit=5):
+ self.assertType(link, pywikibot.Page)
def testImageusage(self):
"""Test the site.imageusage() method"""