From 0a8f43e85a002db670f358b65fba1e094fd7f4b5 Mon Sep 17 00:00:00 2001 From: R David Murray Date: Mon, 13 Apr 2015 20:04:29 -0400 Subject: #11754: test contents of string module attributes. As noted in the comment, while the order of the items in the attributes is not technically guaranteed, after all this time there is almost certainly user code out there that relies on it, so we might as well test for it. Patch by Chalmer Lowe. --- Lib/test/test_string.py | 22 +++++++++++++--------- Misc/ACKS | 1 + 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/Lib/test/test_string.py b/Lib/test/test_string.py index 85b5434..5d37e16 100644 --- a/Lib/test/test_string.py +++ b/Lib/test/test_string.py @@ -4,15 +4,19 @@ import unittest, string class ModuleTest(unittest.TestCase): def test_attrs(self): - string.whitespace - string.ascii_lowercase - string.ascii_uppercase - string.ascii_letters - string.digits - string.hexdigits - string.octdigits - string.punctuation - string.printable + # While the exact order of the items in these attributes is not + # technically part of the "language spec", in practice there is almost + # certainly user code that depends on the order, so de-facto it *is* + # part of the spec. + self.assertEqual(string.whitespace, ' \t\n\r\x0b\x0c') + self.assertEqual(string.ascii_lowercase, 'abcdefghijklmnopqrstuvwxyz') + self.assertEqual(string.ascii_uppercase, 'ABCDEFGHIJKLMNOPQRSTUVWXYZ') + self.assertEqual(string.ascii_letters, string.ascii_lowercase + string.ascii_uppercase) + self.assertEqual(string.digits, '0123456789') + self.assertEqual(string.hexdigits, string.digits + 'abcdefABCDEF') + self.assertEqual(string.octdigits, '01234567') + self.assertEqual(string.punctuation, '!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~') + self.assertEqual(string.printable, string.digits + string.ascii_lowercase + string.ascii_uppercase + string.punctuation + string.whitespace) def test_capwords(self): self.assertEqual(string.capwords('abc def ghi'), 'Abc Def Ghi') diff --git a/Misc/ACKS b/Misc/ACKS index eeb1869..48d20ef 100644 --- a/Misc/ACKS +++ b/Misc/ACKS @@ -850,6 +850,7 @@ Anne Lord Tom Loredo Justin Love Ned Jackson Lovely +Chalmer Lowe Jason Lowe Tony Lownds Ray Loyzaga -- cgit v0.12