Sfoglia il codice sorgente

Refs #24121 -- Added __repr__() to PermWrapper.

abhiabhi94 3 anni fa
parent
commit
22da686ca9

+ 3 - 0
django/contrib/auth/context_processors.py

@@ -25,6 +25,9 @@ class PermWrapper:
     def __init__(self, user):
         self.user = user
 
+    def __repr__(self):
+        return f'{self.__class__.__qualname__}({self.user!r})'
+
     def __getitem__(self, app_label):
         return PermLookupDict(self.user, app_label)
 

+ 7 - 0
tests/auth_tests/test_context_processors.py

@@ -9,6 +9,9 @@ from .settings import AUTH_MIDDLEWARE, AUTH_TEMPLATES
 
 
 class MockUser:
+    def __repr__(self):
+        return 'MockUser()'
+
     def has_module_perms(self, perm):
         return perm == 'mockapp'
 
@@ -33,6 +36,10 @@ class PermWrapperTests(SimpleTestCase):
             self.eq_calls += 1
             return False
 
+    def test_repr(self):
+        perms = PermWrapper(MockUser())
+        self.assertEqual(repr(perms), 'PermWrapper(MockUser())')
+
     def test_permwrapper_in(self):
         """
         'something' in PermWrapper works as expected.