Issue #19928: Implemented a test for repr() of cell objects.
diff --git a/Lib/test/test_reprlib.py b/Lib/test/test_reprlib.py
index 7bf2247..3687de9 100644
--- 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
index 535c3af..9026e75 100644
--- 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.