diff options
author | Martijn Pieters <github.com@zopatista.com> | 2017-02-27 16:08:01 (GMT) |
---|---|---|
committer | Berker Peksag <berker.peksag@gmail.com> | 2017-02-27 16:08:01 (GMT) |
commit | 53039ad3814a8918c5311f37bd654428b9843fcc (patch) | |
tree | e52d7555bfedea2a06a7109a78260ff43240cc84 /Lib/test/test_unicode.py | |
parent | 046041e23b3c7e0b4a08705e2792ef3e28d03384 (diff) | |
download | cpython-53039ad3814a8918c5311f37bd654428b9843fcc.zip cpython-53039ad3814a8918c5311f37bd654428b9843fcc.tar.gz cpython-53039ad3814a8918c5311f37bd654428b9843fcc.tar.bz2 |
bpo-28598: Support __rmod__ for RHS subclasses of str in % string formatting operations (#95)
Diffstat (limited to 'Lib/test/test_unicode.py')
-rw-r--r-- | Lib/test/test_unicode.py | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/Lib/test/test_unicode.py b/Lib/test/test_unicode.py index 86ebd45..2844bc5 100644 --- a/Lib/test/test_unicode.py +++ b/Lib/test/test_unicode.py @@ -1448,6 +1448,15 @@ class UnicodeTest(string_tests.CommonTest, with self.assertRaises(ValueError): result = format_string % 2.34 + def test_issue28598_strsubclass_rhs(self): + # A subclass of str with an __rmod__ method should be able to hook + # into the % operator + class SubclassedStr(str): + def __rmod__(self, other): + return 'Success, self.__rmod__({!r}) was called'.format(other) + self.assertEqual('lhs %% %r' % SubclassedStr('rhs'), + "Success, self.__rmod__('lhs %% %r') was called") + @support.cpython_only def test_formatting_huge_precision_c_limits(self): from _testcapi import INT_MAX |