XZise has uploaded a new change for review.

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

Change subject: [FIX] Link tests: Do them explicitly dry
......................................................................

[FIX] Link tests: Do them explicitly dry

Change-Id: I7010d45d2e99f123528465bbc236e7e08fdc721d
---
M scripts/i18n
M tests/link_tests.py
2 files changed, 55 insertions(+), 53 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/pywikibot/core 
refs/changes/92/170592/1

diff --git a/scripts/i18n b/scripts/i18n
index 3b1a255..f7c6b27 160000
--- a/scripts/i18n
+++ b/scripts/i18n
-Subproject commit 3b1a25590c496ebb5501d27d00dff7f970b5513f
+Subproject commit f7c6b271bf295d82b1c8163500ab67624f330589
diff --git a/tests/link_tests.py b/tests/link_tests.py
index 6cf9fb0..e7510e7 100644
--- a/tests/link_tests.py
+++ b/tests/link_tests.py
@@ -27,77 +27,79 @@
     default site is using completely different namespaces.
     """
 
-    def test_valid(self):
-        self.assertEqual(Link('Sandbox').title, 'Sandbox')
-        self.assertEqual(Link('A "B"').title, 'A "B"')
-        self.assertEqual(Link('A \'B\'').title, 'A \'B\'')
-        self.assertEqual(Link('.com').title, '.com')
-        self.assertEqual(Link('~').title, '~')
-        self.assertEqual(Link('"').title, '"')
-        self.assertEqual(Link('\'').title, '\'')
-        self.assertEqual(Link('Talk:Sandbox').title, 'Sandbox')
-        self.assertEqual(Link('Talk:Foo:Sandbox').title, 'Foo:Sandbox')
-        self.assertEqual(Link('File:Example.svg').title, 'Example.svg')
-        self.assertEqual(Link('File_talk:Example.svg').title, 'Example.svg')
-        self.assertEqual(Link('Foo/.../Sandbox').title, 'Foo/.../Sandbox')
-        self.assertEqual(Link('Sandbox/...').title, 'Sandbox/...')
-        self.assertEqual(Link('A~~').title, 'A~~')
-        self.assertEqual(Link(':A').title, 'A')
-        # Length is 256 total, but only title part matters
-        self.assertEqual(Link('Category:' + 'X' * 248).title, 'X' * 248)
-        self.assertEqual(Link('X' * 252).title, 'X' * 252)
-        self.assertEqual(Link('A%20B').title, 'A B')
-        self.assertEqual(Link('A é B').title, u'A é B')
-        self.assertEqual(Link('A é B').title, u'A é B')
-        self.assertEqual(Link('A é B').title, u'A é B')
+    dry = True  # metaclass doesn't check subclasses: 72885
 
-        l = Link('A | B')
+    def test_valid(self):
+        self.assertEqual(Link('Sandbox', self.get_site()).title, 'Sandbox')
+        self.assertEqual(Link('A "B"', self.get_site()).title, 'A "B"')
+        self.assertEqual(Link('A \'B\'', self.get_site()).title, 'A \'B\'')
+        self.assertEqual(Link('.com', self.get_site()).title, '.com')
+        self.assertEqual(Link('~', self.get_site()).title, '~')
+        self.assertEqual(Link('"', self.get_site()).title, '"')
+        self.assertEqual(Link('\'', self.get_site()).title, '\'')
+        self.assertEqual(Link('Talk:Sandbox', self.get_site()).title, 
'Sandbox')
+        self.assertEqual(Link('Talk:Foo:Sandbox', self.get_site()).title, 
'Foo:Sandbox')
+        self.assertEqual(Link('File:Example.svg', self.get_site()).title, 
'Example.svg')
+        self.assertEqual(Link('File_talk:Example.svg', self.get_site()).title, 
'Example.svg')
+        self.assertEqual(Link('Foo/.../Sandbox', self.get_site()).title, 
'Foo/.../Sandbox')
+        self.assertEqual(Link('Sandbox/...', self.get_site()).title, 
'Sandbox/...')
+        self.assertEqual(Link('A~~', self.get_site()).title, 'A~~')
+        self.assertEqual(Link(':A', self.get_site()).title, 'A')
+        # Length is 256 total, but only title part matters
+        self.assertEqual(Link('Category:' + 'X' * 248, self.get_site()).title, 
'X' * 248)
+        self.assertEqual(Link('X' * 252, self.get_site()).title, 'X' * 252)
+        self.assertEqual(Link('A%20B', self.get_site()).title, 'A B')
+        self.assertEqual(Link('A é B', self.get_site()).title, u'A é B')
+        self.assertEqual(Link('A é B', self.get_site()).title, u'A é B')
+        self.assertEqual(Link('A é B', self.get_site()).title, u'A é B')
+
+        l = Link('A | B', self.get_site())
         self.assertEqual(l.title, 'A')
         self.assertEqual(l.anchor, ' B')
 
-        l = Link('A%23B')
+        l = Link('A%23B', self.get_site())
         self.assertEqual(l.title, 'A')
         self.assertEqual(l.section, 'B')
 
     def test_invalid(self):
-        self.assertRaises(InvalidTitle, Link('').parse)
-        # TODO: self.assertRaises(InvalidTitle, Link(':').parse)
-        self.assertRaises(InvalidTitle, Link('__  __').parse)
-        self.assertRaises(InvalidTitle, Link('  __  ').parse)
+        self.assertRaises(InvalidTitle, Link('', self.get_site()).parse)
+        # TODO: self.assertRaises(InvalidTitle, Link(':', 
self.get_site()).parse)
+        self.assertRaises(InvalidTitle, Link('__  __', self.get_site()).parse)
+        self.assertRaises(InvalidTitle, Link('  __  ', self.get_site()).parse)
         # Bad characters forbidden regardless of wgLegalTitleChars
-        self.assertRaises(InvalidTitle, Link('A [ B').parse)
-        self.assertRaises(InvalidTitle, Link('A ] B').parse)
-        self.assertRaises(InvalidTitle, Link('A { B').parse)
-        self.assertRaises(InvalidTitle, Link('A } B').parse)
-        self.assertRaises(InvalidTitle, Link('A < B').parse)
-        self.assertRaises(InvalidTitle, Link('A > B').parse)
+        self.assertRaises(InvalidTitle, Link('A [ B', self.get_site()).parse)
+        self.assertRaises(InvalidTitle, Link('A ] B', self.get_site()).parse)
+        self.assertRaises(InvalidTitle, Link('A { B', self.get_site()).parse)
+        self.assertRaises(InvalidTitle, Link('A } B', self.get_site()).parse)
+        self.assertRaises(InvalidTitle, Link('A < B', self.get_site()).parse)
+        self.assertRaises(InvalidTitle, Link('A > B', self.get_site()).parse)
         # URL encoding
         # %XX is understood by wikimedia but not %XXXX
-        self.assertRaises(InvalidTitle, Link('A%2523B').parse)
+        self.assertRaises(InvalidTitle, Link('A%2523B', self.get_site()).parse)
         # Subject of NS_TALK does not roundtrip to NS_MAIN
         # TODO: A link is invalid if their (non-)talk page would be in another
         #       namespace than the link's "other" namespace
-        # TODO: self.assertRaises(InvalidTitle, 
Link('Talk:File:Example.svg').parse)
+        # TODO: self.assertRaises(InvalidTitle, Link('Talk:File:Example.svg', 
self.get_site()).parse)
         # Directory navigation
-        self.assertRaises(InvalidTitle, Link('.').parse)
-        self.assertRaises(InvalidTitle, Link('..').parse)
-        self.assertRaises(InvalidTitle, Link('./Sandbox').parse)
-        self.assertRaises(InvalidTitle, Link('../Sandbox').parse)
-        self.assertRaises(InvalidTitle, Link('Foo/./Sandbox').parse)
-        self.assertRaises(InvalidTitle, Link('Foo/../Sandbox').parse)
-        self.assertRaises(InvalidTitle, Link('Sandbox/.').parse)
-        self.assertRaises(InvalidTitle, Link('Sandbox/..').parse)
+        self.assertRaises(InvalidTitle, Link('.', self.get_site()).parse)
+        self.assertRaises(InvalidTitle, Link('..', self.get_site()).parse)
+        self.assertRaises(InvalidTitle, Link('./Sandbox', 
self.get_site()).parse)
+        self.assertRaises(InvalidTitle, Link('../Sandbox', 
self.get_site()).parse)
+        self.assertRaises(InvalidTitle, Link('Foo/./Sandbox', 
self.get_site()).parse)
+        self.assertRaises(InvalidTitle, Link('Foo/../Sandbox', 
self.get_site()).parse)
+        self.assertRaises(InvalidTitle, Link('Sandbox/.', 
self.get_site()).parse)
+        self.assertRaises(InvalidTitle, Link('Sandbox/..', 
self.get_site()).parse)
         # Tilde
-        self.assertRaises(InvalidTitle, Link('A ~~~ Name').parse)
-        self.assertRaises(InvalidTitle, Link('A ~~~~ Signature').parse)
-        self.assertRaises(InvalidTitle, Link('A ~~~~~ Timestamp').parse)
+        self.assertRaises(InvalidTitle, Link('A ~~~ Name', 
self.get_site()).parse)
+        self.assertRaises(InvalidTitle, Link('A ~~~~ Signature', 
self.get_site()).parse)
+        self.assertRaises(InvalidTitle, Link('A ~~~~~ Timestamp', 
self.get_site()).parse)
         # Overlength
-        self.assertRaises(InvalidTitle, Link('x' * 256).parse)
-        self.assertRaises(InvalidTitle, Link('Invalid:' + 'X' * 248).parse)
+        self.assertRaises(InvalidTitle, Link('x' * 256, self.get_site()).parse)
+        self.assertRaises(InvalidTitle, Link('Invalid:' + 'X' * 248, 
self.get_site()).parse)
         # Namespace prefix without actual title
-        self.assertRaises(InvalidTitle, Link('Talk:').parse)
-        self.assertRaises(InvalidTitle, Link('Category: ').parse)
-        # TODO: self.assertRaises(InvalidTitle, Link('Category: #bar').parse)
+        self.assertRaises(InvalidTitle, Link('Talk:', self.get_site()).parse)
+        self.assertRaises(InvalidTitle, Link('Category: ', 
self.get_site()).parse)
+        # TODO: self.assertRaises(InvalidTitle, Link('Category: #bar', 
self.get_site()).parse)
 
 
 # ---- The first set of tests are explicit links, starting with a ':'.

-- 
To view, visit https://gerrit.wikimedia.org/r/170592
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I7010d45d2e99f123528465bbc236e7e08fdc721d
Gerrit-PatchSet: 1
Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-Owner: XZise <[email protected]>

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

Reply via email to