diff options
author | Ezio Melotti <ezio.melotti@gmail.com> | 2011-08-15 06:09:57 (GMT) |
---|---|---|
committer | Ezio Melotti <ezio.melotti@gmail.com> | 2011-08-15 06:09:57 (GMT) |
commit | ee8d998ecfd7d7fec71610adef1127d6d95ca843 (patch) | |
tree | fccf446fb7b8ea7aa044e321c367ccd85fa9d94d /Lib/test/string_tests.py | |
parent | 388c945e9735864bb75f10ecfa22528c91b6a56c (diff) | |
download | cpython-ee8d998ecfd7d7fec71610adef1127d6d95ca843.zip cpython-ee8d998ecfd7d7fec71610adef1127d6d95ca843.tar.gz cpython-ee8d998ecfd7d7fec71610adef1127d6d95ca843.tar.bz2 |
#12266: Fix str.capitalize() to correctly uppercase/lowercase titlecased and cased non-letter characters.
Diffstat (limited to 'Lib/test/string_tests.py')
-rw-r--r-- | Lib/test/string_tests.py | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/Lib/test/string_tests.py b/Lib/test/string_tests.py index fca38c3..d792529 100644 --- a/Lib/test/string_tests.py +++ b/Lib/test/string_tests.py @@ -641,6 +641,23 @@ class CommonTest(BaseTest): self.checkequal('Aaaa', 'aaaa', 'capitalize') self.checkequal('Aaaa', 'AaAa', 'capitalize') + # check that titlecased chars are lowered correctly + # \u1ffc is the titlecased char + self.checkequal('\u1ffc\u1ff3\u1ff3\u1ff3', + '\u1ff3\u1ff3\u1ffc\u1ffc', 'capitalize') + # check with cased non-letter chars + self.checkequal('\u24c5\u24e8\u24e3\u24d7\u24de\u24dd', + '\u24c5\u24ce\u24c9\u24bd\u24c4\u24c3', 'capitalize') + self.checkequal('\u24c5\u24e8\u24e3\u24d7\u24de\u24dd', + '\u24df\u24e8\u24e3\u24d7\u24de\u24dd', 'capitalize') + self.checkequal('\u2160\u2171\u2172', + '\u2160\u2161\u2162', 'capitalize') + self.checkequal('\u2160\u2171\u2172', + '\u2170\u2171\u2172', 'capitalize') + # check with Ll chars with no upper - nothing changes here + self.checkequal('\u019b\u1d00\u1d86\u0221\u1fb7', + '\u019b\u1d00\u1d86\u0221\u1fb7', 'capitalize') + self.checkraises(TypeError, 'hello', 'capitalize', 42) def test_lower(self): |