diff options
author | Ethan Furman <ethan@stoneleaf.us> | 2016-05-01 17:04:21 (GMT) |
---|---|---|
committer | Ethan Furman <ethan@stoneleaf.us> | 2016-05-01 17:04:21 (GMT) |
commit | 354706915c1fdbcf8e26d90beacb8c84206da062 (patch) | |
tree | a080cd6627490bcfaec09ce5117aa0fe31adbfaa /Lib | |
parent | 47d1d7f48a841dc5539638c3941445d8507e6beb (diff) | |
parent | 3803ad47bb443d9cad83fe968b1b82ad5bcb75f2 (diff) | |
download | cpython-354706915c1fdbcf8e26d90beacb8c84206da062.zip cpython-354706915c1fdbcf8e26d90beacb8c84206da062.tar.gz cpython-354706915c1fdbcf8e26d90beacb8c84206da062.tar.bz2 |
issue26893: use mro() to examine class heirarchy
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/enum.py | 2 | ||||
-rw-r--r-- | Lib/test/test_enum.py | 13 |
2 files changed, 14 insertions, 1 deletions
diff --git a/Lib/enum.py b/Lib/enum.py index 476e3b3..c3a0a8b 100644 --- a/Lib/enum.py +++ b/Lib/enum.py @@ -124,7 +124,7 @@ class EnumMeta(type): # save attributes from super classes so we know if we can take # the shortcut of storing members in the class dict - base_attributes = {a for b in bases for a in b.__dict__} + base_attributes = {a for b in enum_class.mro() for a in b.__dict__} # Reverse value->name map for hashable values. enum_class._value2member_map_ = {} diff --git a/Lib/test/test_enum.py b/Lib/test/test_enum.py index e5e0ec0..29cd3cf 100644 --- a/Lib/test/test_enum.py +++ b/Lib/test/test_enum.py @@ -1591,6 +1591,19 @@ class TestUnique(unittest.TestCase): triple = 3 turkey = 3 + def test_unique_with_name(self): + @unique + class Silly(Enum): + one = 1 + two = 'dos' + name = 3 + @unique + class Sillier(IntEnum): + single = 1 + name = 2 + triple = 3 + value = 4 + expected_help_output_with_docs = """\ Help on class Color in module %s: |