summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorEthan Furman <ethan@stoneleaf.us>2016-05-01 17:03:53 (GMT)
committerEthan Furman <ethan@stoneleaf.us>2016-05-01 17:03:53 (GMT)
commit3803ad47bb443d9cad83fe968b1b82ad5bcb75f2 (patch)
treebfd94e70563850aebf96bc8767932fb74cf1e9e2 /Lib
parentdd1bcdf6187ff18fb1536a6190926b0f03336186 (diff)
downloadcpython-3803ad47bb443d9cad83fe968b1b82ad5bcb75f2.zip
cpython-3803ad47bb443d9cad83fe968b1b82ad5bcb75f2.tar.gz
cpython-3803ad47bb443d9cad83fe968b1b82ad5bcb75f2.tar.bz2
issue26893: use mro() to examine class heirarchy
Diffstat (limited to 'Lib')
-rw-r--r--Lib/enum.py2
-rw-r--r--Lib/test/test_enum.py13
2 files changed, 14 insertions, 1 deletions
diff --git a/Lib/enum.py b/Lib/enum.py
index 246df17..b8787d1 100644
--- a/Lib/enum.py
+++ b/Lib/enum.py
@@ -118,7 +118,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 a59a049..4b14e7f 100644
--- a/Lib/test/test_enum.py
+++ b/Lib/test/test_enum.py
@@ -1568,6 +1568,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: