Exercise some error conditions
diff --git a/Lib/test/test_heapq.py b/Lib/test/test_heapq.py
index 4e535e9..f37d8ff 100644
--- a/Lib/test/test_heapq.py
+++ b/Lib/test/test_heapq.py
@@ -38,6 +38,10 @@
         # 2) Check that the invariant holds for a sorted array
         self.check_invariant(results)
 
+        self.assertRaises(TypeError, heappush, [])
+        self.assertRaises(TypeError, heappush, None, None)
+        self.assertRaises(TypeError, heappop, None)
+
     def check_invariant(self, heap):
         # Check the heap invariant.
         for pos, item in enumerate(heap):
@@ -51,6 +55,8 @@
             heapify(heap)
             self.check_invariant(heap)
 
+        self.assertRaises(TypeError, heapify, None)
+
     def test_naive_nbest(self):
         data = [random.randrange(2000) for i in range(1000)]
         heap = []
@@ -75,6 +81,10 @@
                 heapreplace(heap, item)
         self.assertEqual(list(heapiter(heap)), sorted(data)[-10:])
 
+        self.assertRaises(TypeError, heapreplace, None)
+        self.assertRaises(TypeError, heapreplace, None, None)
+        self.assertRaises(IndexError, heapreplace, [], None)
+
     def test_heapsort(self):
         # Exercise everything with repeated heapsort checks
         for trial in xrange(100):