[Python-checkins] cpython (3.3): Issue #19928: Implemented a test for repr() of cell objects.

serhiy.storchaka python-checkins at python.org
Tue Dec 10 09:26:01 CET 2013


http://hg.python.org/cpython/rev/49eb895be796
changeset:   87874:49eb895be796
branch:      3.3
parent:      87871:d462b2bf875b
user:        Serhiy Storchaka <storchaka at gmail.com>
date:        Tue Dec 10 10:20:31 2013 +0200
summary:
  Issue #19928: Implemented a test for repr() of cell objects.

files:
  Lib/test/test_reprlib.py |  12 +++++++++---
  Misc/NEWS                |   2 ++
  2 files changed, 11 insertions(+), 3 deletions(-)


diff --git a/Lib/test/test_reprlib.py b/Lib/test/test_reprlib.py
--- a/Lib/test/test_reprlib.py
+++ b/Lib/test/test_reprlib.py
@@ -166,10 +166,16 @@
         eq(r([[[[[[{}]]]]]]), "[[[[[[{}]]]]]]")
         eq(r([[[[[[[{}]]]]]]]), "[[[[[[[...]]]]]]]")
 
-    @unittest.skip('hard to catch a cell object')
     def test_cell(self):
-        # XXX Hmm? How to get at a cell object?
-        pass
+        def get_cell():
+            x = 42
+            def inner():
+                return x
+            return inner
+        x = get_cell().__closure__[0]
+        self.assertRegex(repr(x),
+                         r'<cell at 0x[0-9a-f]+: int object at 0x[0-9a-f]+>')
+        self.assertRegex(r(x), r'<cell at 0x.*\.\.\..*>')
 
     def test_descriptors(self):
         eq = self.assertEqual
diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -114,6 +114,8 @@
 Tests
 -----
 
+- Issue #19928: Implemented a test for repr() of cell objects.
+
 - Issue #19535: Fixed test_docxmlrpc when python is run with -OO.
 
 - Issue #19926: Removed unneeded test_main from test_abstract_numbers.

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list