# special processing needed for names?
if isinstance(names, str):
names = names.replace(',', ' ').split()
- if isinstance(names, (tuple, list)) and isinstance(names[0], str):
+ if isinstance(names, (tuple, list)) and names and isinstance(names[0], str):
original_names, names = names, []
last_values = []
for count, name in enumerate(original_names):
self.assertIs(type(e), Perm)
+ def test_programatic_function_from_empty_list(self):
+ Perm = enum.IntFlag('Perm', [])
+ lst = list(Perm)
+ self.assertEqual(len(lst), len(Perm))
+ self.assertEqual(len(Perm), 0, Perm)
+ Thing = enum.Enum('Thing', [])
+ lst = list(Thing)
+ self.assertEqual(len(lst), len(Thing))
+ self.assertEqual(len(Thing), 0, Thing)
+
+
+ def test_programatic_function_from_empty_tuple(self):
+ Perm = enum.IntFlag('Perm', ())
+ lst = list(Perm)
+ self.assertEqual(len(lst), len(Perm))
+ self.assertEqual(len(Perm), 0, Perm)
+ Thing = enum.Enum('Thing', ())
+ self.assertEqual(len(lst), len(Thing))
+ self.assertEqual(len(Thing), 0, Thing)
+
def test_containment(self):
Perm = self.Perm
R, W, X = Perm
correctly returns the ``127.0.0.1`` host, instead of treating ``@evil.com``
as the host in an authentification (``login@host``).
+- bpo-30616: Functional API of enum allows to create empty enums.
+ Patched by Dong-hee Na
+
- bpo-30038: Fix race condition between signal delivery and wakeup file
descriptor. Patch by Nathaniel Smith.