| 591 | # see issue40084 |
| 592 | class SuperEnum(self.enum_type): |
| 593 | def __new__(cls, *value, **kwds): |
| 594 | new = self.enum_type._member_type_.__new__ |
| 595 | if self.enum_type._member_type_ is object: |
| 596 | obj = new(cls) |
| 597 | else: |
| 598 | if isinstance(value[0], tuple): |
| 599 | create_value ,= value[0] |
| 600 | else: |
| 601 | create_value = value |
| 602 | obj = new(cls, *create_value) |
| 603 | obj._value_ = value[0] if len(value) == 1 else value |
| 604 | obj.description = 'test description' |
| 605 | return obj |
| 606 | class SubEnum(SuperEnum): |
| 607 | sample = self.source_values[1] |
| 608 | self.assertTrue('description' not in dir(SubEnum)) |