(self)
| 844 | |
| 845 | @unittest.expectedFailure # TODO: RUSTPYTHON; AttributeError: 'Deque' object has no attribute 'x' |
| 846 | def test_pickle_recursive(self): |
| 847 | for proto in range(pickle.HIGHEST_PROTOCOL + 1): |
| 848 | for d in Deque('abc'), Deque('abc', 3): |
| 849 | d.append(d) |
| 850 | |
| 851 | e = pickle.loads(pickle.dumps(d, proto)) |
| 852 | self.assertNotEqual(id(e), id(d)) |
| 853 | self.assertEqual(type(e), type(d)) |
| 854 | self.assertEqual(e.maxlen, d.maxlen) |
| 855 | dd = d.pop() |
| 856 | ee = e.pop() |
| 857 | self.assertEqual(id(ee), id(e)) |
| 858 | self.assertEqual(e, d) |
| 859 | |
| 860 | d.x = d |
| 861 | e = pickle.loads(pickle.dumps(d, proto)) |
| 862 | self.assertEqual(id(e.x), id(e)) |
| 863 | |
| 864 | for d in DequeWithBadIter('abc'), DequeWithBadIter('abc', 2): |
| 865 | self.assertRaises(TypeError, pickle.dumps, d, proto) |
| 866 | |
| 867 | def test_weakref(self): |
| 868 | d = deque('gallahad') |
nothing calls this directly
no test coverage detected