diff options
author | Zackery Spytz <zspytz@gmail.com> | 2019-10-13 11:49:05 (GMT) |
---|---|---|
committer | Serhiy Storchaka <storchaka@gmail.com> | 2019-10-13 11:49:05 (GMT) |
commit | b16e382c446d76ede22780b15c75f43c5f132e25 (patch) | |
tree | 34c21fb3cdbd01798dd493e9afc52f2972b7bfbd /Lib | |
parent | 793cb85437299a3da3d74fe65480d720af330cbb (diff) | |
download | cpython-b16e382c446d76ede22780b15c75f43c5f132e25.zip cpython-b16e382c446d76ede22780b15c75f43c5f132e25.tar.gz cpython-b16e382c446d76ede22780b15c75f43c5f132e25.tar.bz2 |
bpo-38202: Fix a crash in dict_view & non-itearble. (GH-16241)
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/test/test_dictviews.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/Lib/test/test_dictviews.py b/Lib/test/test_dictviews.py index 8410e8b..be271be 100644 --- a/Lib/test/test_dictviews.py +++ b/Lib/test/test_dictviews.py @@ -227,6 +227,25 @@ class DictSetTest(unittest.TestCase): self.assertEqual(items | iter([(1, 2)]), {(1, 2), (3, 4)}) self.assertEqual(items - iter([(1, 2)]), {(3, 4)}) + def test_set_operations_with_noniterable(self): + with self.assertRaises(TypeError): + {}.keys() & 1 + with self.assertRaises(TypeError): + {}.keys() | 1 + with self.assertRaises(TypeError): + {}.keys() ^ 1 + with self.assertRaises(TypeError): + {}.keys() - 1 + + with self.assertRaises(TypeError): + {}.items() & 1 + with self.assertRaises(TypeError): + {}.items() | 1 + with self.assertRaises(TypeError): + {}.items() ^ 1 + with self.assertRaises(TypeError): + {}.items() - 1 + def test_recursive_repr(self): d = {} d[42] = d.values() |