diff options
author | Serhiy Storchaka <storchaka@gmail.com> | 2016-05-12 07:37:58 (GMT) |
---|---|---|
committer | Serhiy Storchaka <storchaka@gmail.com> | 2016-05-12 07:37:58 (GMT) |
commit | ea36c941a1b2ad6582a35bc42aa70da9600d2841 (patch) | |
tree | e915477a42189e490044a15d786a18382064bc1f /Lib/test/test_enum.py | |
parent | 9de7efe5ab40c19775dcc9ca88adf58d906fc53d (diff) | |
download | cpython-ea36c941a1b2ad6582a35bc42aa70da9600d2841.zip cpython-ea36c941a1b2ad6582a35bc42aa70da9600d2841.tar.gz cpython-ea36c941a1b2ad6582a35bc42aa70da9600d2841.tar.bz2 |
Issue #23640: int.from_bytes() no longer bypasses constructors for subclasses.
Diffstat (limited to 'Lib/test/test_enum.py')
-rw-r--r-- | Lib/test/test_enum.py | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/Lib/test/test_enum.py b/Lib/test/test_enum.py index 4b14e7f..e970a26 100644 --- a/Lib/test/test_enum.py +++ b/Lib/test/test_enum.py @@ -541,6 +541,18 @@ class TestEnum(unittest.TestCase): self.assertEqual([k for k,v in WeekDay.__members__.items() if v.name != k], ['TEUSDAY', ]) + def test_intenum_from_bytes(self): + self.assertIs(IntStooges.from_bytes(b'\x00\x03', 'big'), IntStooges.MOE) + with self.assertRaises(ValueError): + IntStooges.from_bytes(b'\x00\x05', 'big') + + def test_floatenum_fromhex(self): + h = float.hex(FloatStooges.MOE.value) + self.assertIs(FloatStooges.fromhex(h), FloatStooges.MOE) + h = float.hex(FloatStooges.MOE.value + 0.01) + with self.assertRaises(ValueError): + FloatStooges.fromhex(h) + def test_pickle_enum(self): if isinstance(Stooges, Exception): raise Stooges |