Revision: 6127 Author: russblau Date: 2008-12-03 20:02:17 +0000 (Wed, 03 Dec 2008)
Log Message: ----------- update backlink tests; langlinks commented out temporarily due to performance issues
Modified Paths: -------------- branches/rewrite/pywikibot/tests/site_tests.py
Modified: branches/rewrite/pywikibot/tests/site_tests.py =================================================================== --- branches/rewrite/pywikibot/tests/site_tests.py 2008-12-03 20:01:23 UTC (rev 6126) +++ branches/rewrite/pywikibot/tests/site_tests.py 2008-12-03 20:02:17 UTC (rev 6127) @@ -14,6 +14,8 @@ import pywikibot import warnings
+logger = pywikibot.logging.getLogger("wiki.site.tests") + mysite = pywikibot.Site() mainpage = pywikibot.Page(pywikibot.Link("Main Page", mysite)) imagepage = iter(mainpage.imagelinks()).next() # 1st image on main page @@ -127,7 +129,7 @@ self.assertType(mysite.has_group("bots", True), bool) self.assertFalse(mysite.has_group("nonexistent_group", True)) except pywikibot.NoUsername: - warnings.warn( + logger.warn( "Cannot test Site methods for sysop; no sysop account configured.") for msg in ("1movedto2", "about", "aboutpage", "aboutsite", "accesskey-n-portal"): @@ -184,8 +186,28 @@ """Test site methods for getting links to and from a page"""
backlinks = set(mysite.pagebacklinks(mainpage, namespaces=[0])) + # only non-redirects: + filtered = set(mysite.pagebacklinks(mainpage, namespaces=0, + filterRedirects=False)) + # only redirects: + redirs = set(mysite.pagebacklinks(mainpage, namespaces=0, + filterRedirects=True)) + # including links to redirect pages (but not the redirects): + indirect = set(mysite.pagebacklinks(mainpage, namespaces=[0], + followRedirects=True)) + self.assertEqual(filtered & redirs, set([])) + self.assertEqual(indirect & redirs, set([])) + self.assertTrue(filtered.issubset(indirect)) + self.assertTrue(filtered.issubset(backlinks)) + self.assertTrue(redirs.issubset(backlinks)) + self.assertTrue(backlinks.issubset( + set(mysite.pagebacklinks(mainpage, namespaces=[0, 2])))) + + # pagereferences includes both backlinks and embeddedin embedded = set(mysite.page_embeddedin(mainpage, namespaces=[0])) refs = set(mysite.pagereferences(mainpage, namespaces=[0])) + self.assertTrue(backlinks.issubset(refs)) + self.assertTrue(embedded.issubset(refs)) for bl in backlinks: self.assertType(bl, pywikibot.Page) self.assertTrue(bl in refs) @@ -194,21 +216,6 @@ self.assertTrue(ei in refs) for ref in refs: self.assertTrue(ref in backlinks or ref in embedded) - # test backlinks arguments - self.assertTrue(backlinks.issubset( - set(mysite.pagebacklinks(mainpage, - followRedirects=True, - namespaces=[0])))) - self.assertTrue(backlinks.issuperset( - set(mysite.pagebacklinks(mainpage, - filterRedirects=True, - namespaces=[0])))) - self.assertTrue(backlinks.issuperset( - set(mysite.pagebacklinks(mainpage, - filterRedirects=False, - namespaces=[0])))) - self.assertTrue(backlinks.issubset( - set(mysite.pagebacklinks(mainpage, namespaces=[0, 2])))) # test embeddedin arguments self.assertTrue(embedded.issuperset( set(mysite.page_embeddedin(mainpage, filterRedirects=True, @@ -298,14 +305,14 @@ self.assertTrue(mysite.page_exists(page)) self.assertEqual(page.namespace(), 0) self.assertFalse(page.isRedirectPage()) - for page in mysite.allpages(filterlanglinks=True, limit=5): - self.assertType(page, pywikibot.Page) - self.assertTrue(mysite.page_exists(page)) - self.assertEqual(page.namespace(), 0) - for page in mysite.allpages(filterlanglinks=False, limit=5): - self.assertType(page, pywikibot.Page) - self.assertTrue(mysite.page_exists(page)) - self.assertEqual(page.namespace(), 0) +## for page in mysite.allpages(filterlanglinks=True, limit=5): +## self.assertType(page, pywikibot.Page) +## self.assertTrue(mysite.page_exists(page)) +## self.assertEqual(page.namespace(), 0) +## for page in mysite.allpages(filterlanglinks=False, limit=5): +## self.assertType(page, pywikibot.Page) +## self.assertTrue(mysite.page_exists(page)) +## self.assertEqual(page.namespace(), 0) for page in mysite.allpages(minsize=100, limit=5): self.assertType(page, pywikibot.Page) self.assertTrue(mysite.page_exists(page)) @@ -821,7 +828,7 @@ try: mysite.login(True) except pywikibot.NoUsername: - warnings.warn( + logger.warn( "Cannot test Site.deleted_revs; no sysop account configured.") return dr = list(mysite.deletedrevs(limit=10, page=mainpage)) @@ -902,7 +909,7 @@
if __name__ == '__main__': -# pywikibot.logging.getLogger().setLevel(pywikibot.logging.DEBUG) +# pywikibot.logging.getLogger("").setLevel(pywikibot.logging.DEBUG) try: try: unittest.main()