bpo-41811: create SortKey members using first given value (GH-22316) (GH-22325)

(cherry picked from commit ae0d2a33ec)

Co-authored-by: Ethan Furman <ethan@stoneleaf.us>
This commit is contained in:
Miss Islington (bot) 2020-09-19 12:56:13 -07:00 committed by GitHub
parent 9e73cac173
commit 0e4d526de4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 3 deletions

View File

@ -45,9 +45,9 @@ class SortKey(str, Enum):
TIME = 'time', 'tottime' TIME = 'time', 'tottime'
def __new__(cls, *values): def __new__(cls, *values):
obj = str.__new__(cls) value = values[0]
obj = str.__new__(cls, value)
obj._value_ = values[0] obj._value_ = value
for other_value in values[1:]: for other_value in values[1:]:
cls._value2member_map_[other_value] = obj cls._value2member_map_[other_value] = obj
obj._all_values = values obj._all_values = values

View File

@ -95,5 +95,9 @@ class StatsTestCase(unittest.TestCase):
self.assertIn('pass2', funcs_called) self.assertIn('pass2', funcs_called)
self.assertIn('pass3', funcs_called) self.assertIn('pass3', funcs_called)
def test_SortKey_enum(self):
self.assertEqual(SortKey.FILENAME, 'filename')
self.assertNotEqual(SortKey.FILENAME, SortKey.CALLS)
if __name__ == "__main__": if __name__ == "__main__":
unittest.main() unittest.main()