Added an extension iteration test that does pass.
diff --git a/python/minimal_test.py b/python/minimal_test.py
index a20c462..287f6c7 100644
--- a/python/minimal_test.py
+++ b/python/minimal_test.py
@@ -38,6 +38,7 @@
 from google.protobuf import message
 from google.protobuf.internal import factory_test1_pb2
 from google.protobuf.internal import factory_test2_pb2
+from google.protobuf.internal import more_extensions_pb2
 from google.protobuf import descriptor_pb2
 
 class TestMessageExtension(unittest.TestCase):
@@ -137,5 +138,34 @@
     q = unittest_pb2.NestedTestAllTypes()
     q.ParseFromString(self.p_serialized)
 
+  def testExtensionIter(self):
+    extendee_proto = more_extensions_pb2.ExtendedMessage()
+
+    extension_int32 = more_extensions_pb2.optional_int_extension
+    extendee_proto.Extensions[extension_int32] = 23
+    
+    extension_repeated = more_extensions_pb2.repeated_int_extension
+    extendee_proto.Extensions[extension_repeated].append(11)
+
+    extension_msg = more_extensions_pb2.optional_message_extension
+    extendee_proto.Extensions[extension_msg].foreign_message_int = 56
+  
+    # Set some normal fields.
+    extendee_proto.optional_int32 = 1
+    extendee_proto.repeated_string.append('hi')
+  
+    expected = {
+        extension_int32: True,
+        extension_msg: True,
+        extension_repeated: True
+    }
+    count = 0
+    for item in extendee_proto.Extensions:
+      del expected[item]
+      self.assertIn(item, extendee_proto.Extensions)
+      count += 1
+    self.assertEqual(count, 3)
+    self.assertEqual(len(expected), 0)
+
 if __name__ == '__main__':
     unittest.main(verbosity=2)