jenkins-bot merged this change.
[IMPR] use a list for tests in test_valid
- use extended_title_tests list for all remaining tests
- use subTest for every test in this list
Change-Id: I75399c0b0e6d95b4a7cafd23d07cdbf3f959e763
---
M tests/link_tests.py
1 file changed, 23 insertions(+), 16 deletions(-)
diff --git a/tests/link_tests.py b/tests/link_tests.py
index 1307ac8..548ef0c 100644
--- a/tests/link_tests.py
+++ b/tests/link_tests.py
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
"""Test Link functionality."""
#
-# (C) Pywikibot team, 2014-2019
+# (C) Pywikibot team, 2014-2020
#
# Distributed under the terms of the MIT license.
#
@@ -71,27 +71,34 @@
def test_valid(self):
"""Test that valid titles are correctly normalized."""
- site = self.get_site()
title_tests = ['Sandbox', 'A "B"', "A 'B'", '.com', '~', '"', "'",
'Foo/.../Sandbox', 'Sandbox/...', 'A~~', 'X' * 252]
+
+ extended_title_tests = [
+ ('Talk:Sandbox', 'Sandbox'),
+ ('Talk:Foo:Sandbox', 'Foo:Sandbox'),
+ ('File:Example.svg', 'Example.svg'),
+ ('File_talk:Example.svg', 'Example.svg'),
+ (':A', 'A'),
+ # Length is 256 total, but only title part matters
+ ('Category:' + 'X' * 248, 'X' * 248),
+ ('A%20B', 'A B'),
+ ('A é B', 'A é B'),
+ ('A é B', 'A é B'),
+ ('A é B', 'A é B'),
+ ('A B', 'A B'),
+ ('A   B', 'A B'),
+ ]
+
+ site = self.get_site()
+
for title in title_tests:
with self.subTest(title=title):
self.assertEqual(Link(title, site).title, title)
- self.assertEqual(Link('Talk:Sandbox', site).title, 'Sandbox')
- self.assertEqual(Link('Talk:Foo:Sandbox', site).title, 'Foo:Sandbox')
- self.assertEqual(Link('File:Example.svg', site).title, 'Example.svg')
- self.assertEqual(Link('File_talk:Example.svg', site).title,
- 'Example.svg')
- self.assertEqual(Link(':A', site).title, 'A')
- # Length is 256 total, but only title part matters
- self.assertEqual(Link('Category:' + 'X' * 248, site).title, 'X' * 248)
- self.assertEqual(Link('A%20B', site).title, 'A B')
- self.assertEqual(Link('A é B', site).title, 'A é B')
- self.assertEqual(Link('A é B', site).title, 'A é B')
- self.assertEqual(Link('A é B', site).title, 'A é B')
- self.assertEqual(Link('A B', site).title, 'A B')
- self.assertEqual(Link('A   B', site).title, 'A B')
+ for link, title in extended_title_tests:
+ with self.subTest(link=link, title=title):
+ self.assertEqual(Link(link, site).title, title)
anchor_link = Link('A | B', site)
self.assertEqual(anchor_link.title, 'A')
To view, visit change 567468. To unsubscribe, or for help writing mail filters, visit settings.