jenkins-bot merged this change.

View Change

Approvals: Xqt: Looks good to me, approved jenkins-bot: Verified
[cleanup] cleanup tests/[l10n_tests.py-oauth_tests.py]

- use single quotes for string literals
- remove preleading "u" fron strings
- indentation to make sure code lines are less than 79 characters
- use str.format(...) instead of modulo for type specifier arguments

Change-Id: Iadc49eb171d0b4953958440be247fb4de624102b
---
M tests/l10n_tests.py
M tests/link_tests.py
M tests/logentry_tests.py
M tests/login_tests.py
M tests/mediawikiversion_tests.py
M tests/namespace_tests.py
6 files changed, 151 insertions(+), 135 deletions(-)

diff --git a/tests/l10n_tests.py b/tests/l10n_tests.py
index 316a161..2e4f26d 100644
--- a/tests/l10n_tests.py
+++ b/tests/l10n_tests.py
@@ -44,8 +44,8 @@
if site.code == 'simple':
raise unittest.SkipTest(
"'simple' wiki has 'en' language code but "
- "missing template. Must be solved by the "
- "corresponding script.")
+ 'missing template. Must be solved by the '
+ 'corresponding script.')
# check whether template exists
title = templates[0][0]
page = pywikibot.Page(site, title, ns=10)
@@ -60,8 +60,8 @@

# create test methods for package messages processed by unittest
if not i18n.messages_available():
- raise unittest.SkipTest("i18n messages package '%s' not available."
- % i18n._messages_package_name)
+ raise unittest.SkipTest("i18n messages package '{}' not available."
+ .format(i18n._messages_package_name))

site = pywikibot.Site(dct['code'], dct['family'])
codes = site.family.languages_by_size
@@ -70,7 +70,8 @@
keys = i18n.twget_keys(package)
for code in codes:
current_site = pywikibot.Site(code, dct['family'])
- test_name = ("test_%s_%s" % (package, code)).replace('-', '_')
+ test_name = ('test_{}_{}'
+ .format(package, code)).replace('-', '_')
cls.add_method(
dct, test_name, test_method(current_site),
doc_suffix='{0} and language {1}'.format(
@@ -105,8 +106,8 @@
keys = i18n.twget_keys(package)
for key in keys:
self.assertIn(key, languages,
- "'%s' - json key '%s' is not a site language"
- % (package, key))
+ "'{}' - json key '{}' is not a site language"
+ .format(package, key))


if __name__ == '__main__': # pragma: no cover
diff --git a/tests/link_tests.py b/tests/link_tests.py
index 1e7cc72..2e22a5b 100644
--- a/tests/link_tests.py
+++ b/tests/link_tests.py
@@ -76,21 +76,28 @@
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('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('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')
+ 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('A é B', self.get_site()).title, 'A é B')
self.assertEqual(Link('A   B', self.get_site()).title, 'A B')
self.assertEqual(Link('A   B', self.get_site()).title, 'A B')

@@ -119,9 +126,8 @@
# Bad characters forbidden regardless of wgLegalTitleChars
def generate_contains_illegal_chars_exc_regex(text):
exc_regex = (
- r'^(u|)\'%s\' contains illegal char\(s\) (u|)\'%s\'$' % (
- re.escape(text), re.escape(text[2])
- ))
+ r'^(u|)\'{}\' contains illegal char\(s\) (u|)\'{}\'$'
+ .format(re.escape(text), re.escape(text[2])))
return exc_regex

texts_to_test = ['A [ B', 'A ] B', 'A { B', 'A } B', 'A < B', 'A > B']
@@ -149,10 +155,8 @@

# Directory navigation
def generate_contains_dot_combinations_exc_regex(text):
- exc_regex = (
- r'^\(contains \. / combinations\): (u|)\'%s\'$' % re.escape(
- text)
- )
+ exc_regex = (r'^\(contains \. / combinations\): (u|)\'{}\'$'
+ .format(re.escape(text)))
return exc_regex

texts_to_test = ['.', '..', './Sandbox', '../Sandbox', 'Foo/./Sandbox',
@@ -192,7 +196,7 @@

# Namespace prefix without actual title
def generate_has_no_title_exc_regex(text):
- exc_regex = r'^(u|)\'%s\' has no title\.$' % re.escape(text)
+ exc_regex = r'^(u|)\'{}\' has no title\.$'.format(re.escape(text))
return exc_regex

texts_to_test = ['Talk:', 'Category: ', 'Category: #bar']
@@ -831,7 +835,7 @@
self.assertEqual(link.namespace, 4)

def test_fully_qualified_NS1_code(self):
- """Test 'en:wikipedia:Talk:Main Page' on wikidata is not namespace 1."""
+ """Test 'en:wikipedia:Talk:Main Page' on wikidata isn't namespace 1."""
config.mylang = 'wikidata'
config.family = 'wikidata'
link = Link('en:wikipedia:Talk:Main Page')
@@ -984,7 +988,8 @@
"""Test that Link doesn't allow empty."""
link = Link('', self.get_site())
self.assertRaisesRegex(
- InvalidTitle, "The link does not contain a page title", link.parse)
+ InvalidTitle, 'The link does not contain a page title',
+ link.parse)

def test_namespace_lookalike(self):
"""Test that Link does only detect valid namespaces."""
diff --git a/tests/logentry_tests.py b/tests/logentry_tests.py
index b163211..264a305 100644
--- a/tests/logentry_tests.py
+++ b/tests/logentry_tests.py
@@ -30,10 +30,11 @@
"""
Base class for log entry tests.

- It uses the German Wikipedia for a current representation of the log entries
- and the test Wikipedia for the future representation. It also tests on a
- wiki with MW 1.19 or older to check that it can still read the older format.
- It currently uses lyricwiki which as of this commit uses 1.19.24.
+ It uses the German Wikipedia for a current representation of the
+ log entries and the test Wikipedia for the future representation.
+ It also tests on a wiki with MW 1.19 or older to check that it can
+ still read the older format. It currently uses lyricwiki which as of
+ this commit uses 1.19.24.
"""

sites = {
@@ -123,7 +124,7 @@

# create test methods for the support logtype classes
for logtype in LogEntryFactory._logtypes:
- cls.add_method(dct, 'test_%sEntry' % logtype.title(),
+ cls.add_method(dct, 'test_{}Entry'.format(logtype.title()),
test_method(logtype))

return super(TestLogentriesMeta, cls).__new__(cls, name, bases, dct)
@@ -144,8 +145,8 @@
def test_simple_entries(self, key):
"""Test those entries which don't have an extra LogEntry subclass."""
# Unfortunately it's not possible to use the metaclass to create a
- # bunch of test methods for this too as the site instances haven't been
- # initialized yet.
+ # bunch of test methods for this too as the site instances haven't
+ # been initialized yet.
for simple_type in (self.site.logtypes
- set(LogEntryFactory._logtypes)):
if not simple_type:
@@ -172,10 +173,13 @@
# Check that there are no empty strings
self.assertTrue(all(logentry.flags()))
if logentry.expiry() is not None:
- self.assertIsInstance(logentry.expiry(), pywikibot.Timestamp)
- self.assertIsInstance(logentry.duration(), datetime.timedelta)
- self.assertEqual(logentry.timestamp() + logentry.duration(),
- logentry.expiry())
+ self.assertIsInstance(logentry.expiry(),
+ pywikibot.Timestamp)
+ self.assertIsInstance(logentry.duration(),
+ datetime.timedelta)
+ self.assertEqual(
+ logentry.timestamp() + logentry.duration(),
+ logentry.expiry())
else:
self.assertIsNone(logentry.duration())
break
@@ -305,8 +309,8 @@
with self.assertRaises(pywikibot.NoPage):
self.get_mainpage(site).getMovedTarget()

- self.assertOneDeprecationParts('pywikibot.page.BasePage.getMovedTarget',
- 'moved_target()')
+ self.assertOneDeprecationParts(
+ 'pywikibot.page.BasePage.getMovedTarget', 'moved_target()')

def test_moved_target_fail_de(self):
"""Test getMovedTarget method failing on de-wiki."""
@@ -314,8 +318,8 @@
with self.assertRaises(pywikibot.NoPage):
page.getMovedTarget()

- self.assertOneDeprecationParts('pywikibot.page.BasePage.getMovedTarget',
- 'moved_target()')
+ self.assertOneDeprecationParts(
+ 'pywikibot.page.BasePage.getMovedTarget', 'moved_target()')


if __name__ == '__main__': # pragma: no cover
diff --git a/tests/login_tests.py b/tests/login_tests.py
index d46f1b9..1eb85b4 100644
--- a/tests/login_tests.py
+++ b/tests/login_tests.py
@@ -27,17 +27,17 @@
class FakeFamily(object):
"""Mock."""

- name = "~FakeFamily"
+ name = '~FakeFamily'


class FakeSite(object):
"""Mock."""

- code = "~FakeCode"
+ code = '~FakeCode'
family = FakeFamily


-FakeUsername = "~FakeUsername"
+FakeUsername = '~FakeUsername'


class FakeConfig(object):
@@ -47,8 +47,8 @@
usernames[FakeFamily.name] = {FakeSite.code: FakeUsername}


-@mock.patch("pywikibot.Site", FakeSite)
-@mock.patch("pywikibot.login.config", FakeConfig)
+@mock.patch('pywikibot.Site', FakeSite)
+@mock.patch('pywikibot.login.config', FakeConfig)
class TestOfflineLoginManager(DefaultDrySiteTestCase):
"""Test offline operation of login.LoginManager."""

@@ -82,7 +82,7 @@
self.assertEqual(lm.username, FakeUsername)


-@mock.patch("pywikibot.Site", FakeSite)
+@mock.patch('pywikibot.Site', FakeSite)
class TestPasswordFile(DefaultDrySiteTestCase):
"""Test parsing password files."""

@@ -95,18 +95,18 @@
def setUp(self):
"""Patch a variety of dependencies."""
super(TestPasswordFile, self).setUp()
- self.config = self.patch("pywikibot.login.config")
+ self.config = self.patch('pywikibot.login.config')
self.config.usernames = FakeConfig.usernames
- self.config.password_file = "~FakeFile"
+ self.config.password_file = '~FakeFile'
self.config.private_files_permission = 0o600
- self.config.base_dir = "" # ensure that no path modifies password_file
+ self.config.base_dir = '' # ensure that no path modifies password_file

- self.stat = self.patch("os.stat")
+ self.stat = self.patch('os.stat')
self.stat.return_value.st_mode = 0o100600

- self.chmod = self.patch("os.chmod")
+ self.chmod = self.patch('os.chmod')

- self.open = self.patch("codecs.open")
+ self.open = self.patch('codecs.open')
self.open.return_value = StringIO()

def test_auto_chmod_OK(self):
@@ -142,43 +142,43 @@
"""Test global username/password declaration."""
self._test_pwfile("""
('~FakeUsername', '~FakePassword')
- """, "~FakePassword")
+ """, '~FakePassword')

def test_match_family_username(self):
"""Test matching by family."""
self._test_pwfile("""
('~FakeFamily', '~FakeUsername', '~FakePassword')
- """, "~FakePassword")
+ """, '~FakePassword')

def test_match_code_username(self):
"""Test matching by full configuration."""
self._test_pwfile("""
('~FakeCode', '~FakeFamily', '~FakeUsername', '~FakePassword')
- """, "~FakePassword")
+ """, '~FakePassword')

def test_ordering(self):
"""Test that the last matching password is selected."""
self._test_pwfile("""
('~FakeCode', '~FakeFamily', '~FakeUsername', '~FakePasswordA')
('~FakeUsername', '~FakePasswordB')
- """, "~FakePasswordB")
+ """, '~FakePasswordB')

self._test_pwfile("""
('~FakeUsername', '~FakePasswordA')
('~FakeCode', '~FakeFamily', '~FakeUsername', '~FakePasswordB')
- """, "~FakePasswordB")
+ """, '~FakePasswordB')

def test_BotPassword(self):
"""Test BotPassword entries.

- When a BotPassword is used, the login_name changes to contain a suffix,
- while the password is read from an object (instead of being read from
- the password file directly).
+ When a BotPassword is used, the login_name changes to contain a
+ suffix, while the password is read from an object (instead of being
+ read from the password file directly).
"""
obj = self._test_pwfile("""
('~FakeUsername', BotPassword('~FakeSuffix', '~FakePassword'))
""", '~FakePassword')
- self.assertEqual(obj.login_name, "~FakeUsername@~FakeSuffix")
+ self.assertEqual(obj.login_name, '~FakeUsername@~FakeSuffix')


if __name__ == '__main__': # pragma: no cover
diff --git a/tests/mediawikiversion_tests.py b/tests/mediawikiversion_tests.py
index 1d8cecc..495e5ba 100644
--- a/tests/mediawikiversion_tests.py
+++ b/tests/mediawikiversion_tests.py
@@ -74,9 +74,12 @@

def test_invalid_versions(self):
"""Verify that insufficient version fail creating."""
- self.assertRaisesRegex(ValueError, self.INVALID_VERSION_RE, MediaWikiVersion, 'invalid')
- self.assertRaisesRegex(ValueError, self.INVALID_VERSION_RE, MediaWikiVersion, '1number')
- self.assertRaisesRegex(ValueError, self.INVALID_VERSION_RE, MediaWikiVersion, '1.missing')
+ self.assertRaisesRegex(ValueError, self.INVALID_VERSION_RE,
+ MediaWikiVersion, 'invalid')
+ self.assertRaisesRegex(ValueError, self.INVALID_VERSION_RE,
+ MediaWikiVersion, '1number')
+ self.assertRaisesRegex(ValueError, self.INVALID_VERSION_RE,
+ MediaWikiVersion, '1.missing')

self.assertRaisesRegex(AssertionError, 'Found \"wmf\" in \"wmf-1\"',
MediaWikiVersion, '1.23wmf-1')
@@ -86,7 +89,8 @@
self.assertEqual(MediaWikiVersion.from_generator('MediaWiki 1.2.3'),
self._make('1.2.3'))
self.assertRaisesRegex(ValueError, self.GENERATOR_STRING_RE,
- MediaWikiVersion.from_generator, 'Invalid 1.2.3')
+ MediaWikiVersion.from_generator,
+ 'Invalid 1.2.3')


if __name__ == '__main__': # pragma: no cover
diff --git a/tests/namespace_tests.py b/tests/namespace_tests.py
index 11904e9..ae870f0 100644
--- a/tests/namespace_tests.py
+++ b/tests/namespace_tests.py
@@ -46,7 +46,8 @@
file_builtin_ns = dict(_base_builtin_ns)
file_builtin_ns['File'] = 6
file_builtin_ns['File talk'] = 7
-builtin_ns = dict(list(image_builtin_ns.items()) + list(file_builtin_ns.items()))
+builtin_ns = dict(list(image_builtin_ns.items())
+ + list(file_builtin_ns.items()))


def builtin_NamespacesDict():
@@ -80,37 +81,37 @@

def testNamespaceConstructor(self):
"""Test Namespace constructor."""
- kwargs = {u'case': u'first-letter'}
- y = Namespace(id=6, custom_name=u'dummy', canonical_name=u'File',
- aliases=[u'Image', u'Immagine'], **kwargs)
+ kwargs = {'case': 'first-letter'}
+ y = Namespace(id=6, custom_name='dummy', canonical_name='File',
+ aliases=['Image', 'Immagine'], **kwargs)

self.assertEqual(y.id, 6)
- self.assertEqual(y.custom_name, u'dummy')
- self.assertEqual(y.canonical_name, u'File')
+ self.assertEqual(y.custom_name, 'dummy')
+ self.assertEqual(y.canonical_name, 'File')

- self.assertNotEqual(y.custom_name, u'Dummy')
- self.assertNotEqual(y.canonical_name, u'file')
+ self.assertNotEqual(y.custom_name, 'Dummy')
+ self.assertNotEqual(y.canonical_name, 'file')

- self.assertIn(u'Image', y.aliases)
- self.assertIn(u'Immagine', y.aliases)
+ self.assertIn('Image', y.aliases)
+ self.assertIn('Immagine', y.aliases)

self.assertEqual(len(y), 4)
- self.assertEqual(list(y), ['dummy', u'File', u'Image', u'Immagine'])
- self.assertEqual(y.case, u'first-letter')
+ self.assertEqual(list(y), ['dummy', 'File', 'Image', 'Immagine'])
+ self.assertEqual(y.case, 'first-letter')

def testNamespaceNameCase(self):
"""Namespace names are always case-insensitive."""
- kwargs = {u'case': u'first-letter'}
- y = Namespace(id=6, custom_name=u'dummy', canonical_name=u'File',
- aliases=[u'Image', u'Immagine'], **kwargs)
- self.assertIn(u'dummy', y)
- self.assertIn(u'Dummy', y)
- self.assertIn(u'file', y)
- self.assertIn(u'File', y)
- self.assertIn(u'image', y)
- self.assertIn(u'Image', y)
- self.assertIn(u'immagine', y)
- self.assertIn(u'Immagine', y)
+ kwargs = {'case': 'first-letter'}
+ y = Namespace(id=6, custom_name='dummy', canonical_name='File',
+ aliases=['Image', 'Immagine'], **kwargs)
+ self.assertIn('dummy', y)
+ self.assertIn('Dummy', y)
+ self.assertIn('file', y)
+ self.assertIn('File', y)
+ self.assertIn('image', y)
+ self.assertIn('Image', y)
+ self.assertIn('immagine', y)
+ self.assertIn('Immagine', y)

def testNamespaceToString(self):
"""Test Namespace __str__ and __unicode__."""
@@ -120,19 +121,19 @@
self.assertEqual(str(ns[1]), 'Talk:')
self.assertEqual(str(ns[6]), ':File:')

- self.assertEqual(unicode(ns[0]), u':')
- self.assertEqual(unicode(ns[1]), u'Talk:')
- self.assertEqual(unicode(ns[6]), u':File:')
+ self.assertEqual(unicode(ns[0]), ':')
+ self.assertEqual(unicode(ns[1]), 'Talk:')
+ self.assertEqual(unicode(ns[6]), ':File:')

- kwargs = {u'case': u'first-letter'}
- y = Namespace(id=6, custom_name=u'ملف', canonical_name=u'File',
- aliases=[u'Image', u'Immagine'], **kwargs)
+ kwargs = {'case': 'first-letter'}
+ y = Namespace(id=6, custom_name='ملف', canonical_name='File',
+ aliases=['Image', 'Immagine'], **kwargs)

self.assertEqual(str(y), ':File:')
if PY2:
- self.assertEqual(unicode(y), u':ملف:')
+ self.assertEqual(unicode(y), ':ملف:')
self.assertEqual(y.canonical_prefix(), ':File:')
- self.assertEqual(y.custom_prefix(), u':ملف:')
+ self.assertEqual(y.custom_prefix(), ':ملف:')

def testNamespaceCompare(self):
"""Test Namespace comparisons."""
@@ -146,12 +147,12 @@

self.assertGreater(a, -1)

- x = Namespace(id=6, custom_name=u'dummy', canonical_name=u'File',
- aliases=[u'Image', u'Immagine'])
- y = Namespace(id=6, custom_name=u'ملف', canonical_name=u'File',
- aliases=[u'Image', u'Immagine'])
- z = Namespace(id=7, custom_name=u'dummy 7', canonical_name=u'File',
- aliases=[u'Image', u'Immagine'])
+ x = Namespace(id=6, custom_name='dummy', canonical_name='File',
+ aliases=['Image', 'Immagine'])
+ y = Namespace(id=6, custom_name='ملف', canonical_name='File',
+ aliases=['Image', 'Immagine'])
+ z = Namespace(id=7, custom_name='dummy 7', canonical_name='File',
+ aliases=['Image', 'Immagine'])

self.assertEqual(x, x)
self.assertEqual(x, y)
@@ -159,20 +160,20 @@
self.assertNotEqual(x, z)

self.assertEqual(x, 6)
- self.assertEqual(x, u'dummy')
- self.assertEqual(x, u'Dummy')
- self.assertEqual(x, u'file')
- self.assertEqual(x, u'File')
- self.assertEqual(x, u':File')
- self.assertEqual(x, u':File:')
- self.assertEqual(x, u'File:')
- self.assertEqual(x, u'image')
- self.assertEqual(x, u'Image')
+ self.assertEqual(x, 'dummy')
+ self.assertEqual(x, 'Dummy')
+ self.assertEqual(x, 'file')
+ self.assertEqual(x, 'File')
+ self.assertEqual(x, ':File')
+ self.assertEqual(x, ':File:')
+ self.assertEqual(x, 'File:')
+ self.assertEqual(x, 'image')
+ self.assertEqual(x, 'Image')

self.assertFalse(x < 6)
self.assertFalse(x > 6)

- self.assertEqual(y, u'ملف')
+ self.assertEqual(y, 'ملف')

self.assertLess(a, x)
self.assertLess(x, z)
@@ -188,40 +189,41 @@

def testNamespaceNormalizeName(self):
"""Test Namespace.normalize_name."""
- self.assertEqual(Namespace.normalize_name(u'File'), u'File')
- self.assertEqual(Namespace.normalize_name(u':File'), u'File')
- self.assertEqual(Namespace.normalize_name(u'File:'), u'File')
- self.assertEqual(Namespace.normalize_name(u':File:'), u'File')
+ self.assertEqual(Namespace.normalize_name('File'), 'File')
+ self.assertEqual(Namespace.normalize_name(':File'), 'File')
+ self.assertEqual(Namespace.normalize_name('File:'), 'File')
+ self.assertEqual(Namespace.normalize_name(':File:'), 'File')

- self.assertEqual(Namespace.normalize_name(u''), u'')
+ self.assertEqual(Namespace.normalize_name(''), '')

- self.assertEqual(Namespace.normalize_name(u':'), False)
- self.assertEqual(Namespace.normalize_name(u'::'), False)
- self.assertEqual(Namespace.normalize_name(u':::'), False)
- self.assertEqual(Namespace.normalize_name(u':File::'), False)
- self.assertEqual(Namespace.normalize_name(u'::File:'), False)
- self.assertEqual(Namespace.normalize_name(u'::File::'), False)
+ self.assertEqual(Namespace.normalize_name(':'), False)
+ self.assertEqual(Namespace.normalize_name('::'), False)
+ self.assertEqual(Namespace.normalize_name(':::'), False)
+ self.assertEqual(Namespace.normalize_name(':File::'), False)
+ self.assertEqual(Namespace.normalize_name('::File:'), False)
+ self.assertEqual(Namespace.normalize_name('::File::'), False)

def test_repr(self):
"""Test Namespace.__repr__."""
- a = Namespace(id=0, canonical_name=u'Foo')
+ a = Namespace(id=0, canonical_name='Foo')
s = repr(a)
- r = "Namespace(id=0, custom_name=%r, canonical_name=%r, aliases=[])" \
- % (unicode('Foo'), unicode('Foo'))
+ r = 'Namespace(id=0, custom_name={!r}, canonical_name={!r}, ' \
+ 'aliases=[])'.format(unicode('Foo'), unicode('Foo'))
self.assertEqual(s, r)

a.defaultcontentmodel = 'bar'
s = repr(a)
- r = ('Namespace(id=0, custom_name=%r, canonical_name=%r, aliases=[], '
- 'defaultcontentmodel=%r)' %
- (unicode('Foo'), unicode('Foo'), unicode('bar')))
+ r = ('Namespace(id=0, custom_name={!r}, canonical_name={!r}, '
+ 'aliases=[], defaultcontentmodel={!r})'
+ .format(unicode('Foo'), unicode('Foo'), unicode('bar')))
self.assertEqual(s, r)

a.case = 'upper'
s = repr(a)
- r = ('Namespace(id=0, custom_name=%r, canonical_name=%r, aliases=[], '
- 'case=%r, defaultcontentmodel=%r)' %
- (unicode('Foo'), unicode('Foo'), unicode('upper'), unicode('bar')))
+ r = ('Namespace(id=0, custom_name={!r}, canonical_name={!r}, '
+ 'aliases=[], case={!r}, defaultcontentmodel={!r})'
+ .format(unicode('Foo'), unicode('Foo'), unicode('upper'),
+ unicode('bar')))
self.assertEqual(s, r)

b = eval(repr(a))
@@ -236,7 +238,7 @@
r'identifiers contains inappropriate types: (.*?)'
)
INTARGNOTSTRINGORNUMBER_RE = (
- r"int\(\) argument must be a string(, a bytes-like object)? "
+ r'int\(\) argument must be a string(, a bytes-like object)? '
r"or a number, not '(.*?)'"
)
NAMESPACEIDNOTRECOGNISED_RE = (

To view, visit change 463498. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: pywikibot/core
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: Iadc49eb171d0b4953958440be247fb4de624102b
Gerrit-Change-Number: 463498
Gerrit-PatchSet: 6
Gerrit-Owner: D3r1ck01 <alangiderick@gmail.com>
Gerrit-Reviewer: D3r1ck01 <alangiderick@gmail.com>
Gerrit-Reviewer: Dalba <dalba.wiki@gmail.com>
Gerrit-Reviewer: Dvorapa <dvorapa@seznam.cz>
Gerrit-Reviewer: John Vandenberg <jayvdb@gmail.com>
Gerrit-Reviewer: Xqt <info@gno.de>
Gerrit-Reviewer: jenkins-bot (75)