diff options
Diffstat (limited to 'Lib/test/test_weakref.py')
| -rw-r--r-- | Lib/test/test_weakref.py | 20 | 
1 files changed, 20 insertions, 0 deletions
diff --git a/Lib/test/test_weakref.py b/Lib/test/test_weakref.py index 3e7347c..e735376 100644 --- a/Lib/test/test_weakref.py +++ b/Lib/test/test_weakref.py @@ -92,6 +92,18 @@ class ReferencesTestCase(TestBase):          self.check_basic_callback(create_function)          self.check_basic_callback(create_bound_method) +    @support.cpython_only +    def test_cfunction(self): +        import _testcapi +        create_cfunction = _testcapi.create_cfunction +        f = create_cfunction() +        wr = weakref.ref(f) +        self.assertIs(wr(), f) +        del f +        self.assertIsNone(wr()) +        self.check_basic_ref(create_cfunction) +        self.check_basic_callback(create_cfunction) +      def test_multiple_callbacks(self):          o = C()          ref1 = weakref.ref(o, self.callback) @@ -1574,6 +1586,14 @@ class MappingTestCase(TestBase):          self.assertEqual(len(d), 0)          self.assertEqual(count, 2) +    def test_make_weak_valued_dict_repr(self): +        dict = weakref.WeakValueDictionary() +        self.assertRegex(repr(dict), '<WeakValueDictionary at 0x.*>') + +    def test_make_weak_keyed_dict_repr(self): +        dict = weakref.WeakKeyDictionary() +        self.assertRegex(repr(dict), '<WeakKeyDictionary at 0x.*>') +  from test import mapping_tests  class WeakValueDictionaryTestCase(mapping_tests.BasicTestMappingProtocol):  | 
