Issue 1592:  Better error reporting for operations on closed shelves.
diff --git a/Lib/test/test_shelve.py b/Lib/test/test_shelve.py
index ffd2120..ffcc98d 100644
--- a/Lib/test/test_shelve.py
+++ b/Lib/test/test_shelve.py
@@ -8,6 +8,21 @@
 
     fn = "shelftemp" + os.extsep + "db"
 
+    def test_close(self):
+        d1 = {}
+        s = shelve.Shelf(d1, protocol=2, writeback=False)
+        s['key1'] = [1,2,3,4]
+        self.assertEqual(s['key1'], [1,2,3,4])
+        self.assertEqual(len(s), 1)
+        s.close()
+        self.assertRaises(ValueError, len, s)
+        try:
+            s['key1']
+        except ValueError:
+            pass
+        else:
+            self.fail('Closed shelf should not find a key')
+
     def test_ascii_file_shelf(self):
         try:
             s = shelve.open(self.fn, protocol=0)