summaryrefslogtreecommitdiff
path: root/tests/utils_tests
diff options
context:
space:
mode:
authorMoritz Sichert <moritz.sichert@googlemail.com>2015-06-10 22:57:51 +0200
committerTim Graham <timograham@gmail.com>2015-06-12 17:44:54 -0400
commit296919e7a58c21ff0325de8c747dc2dc8960104e (patch)
tree085278b68130a6127b7f02200ebb3c742d05317a /tests/utils_tests
parente93e0c03b28137e26f9249e0b7c458b0d667a74e (diff)
Fixed #24965 -- Made LiveServerTestCase.live_server_url accessible from class
Diffstat (limited to 'tests/utils_tests')
-rw-r--r--tests/utils_tests/test_decorators.py40
1 files changed, 39 insertions, 1 deletions
diff --git a/tests/utils_tests/test_decorators.py b/tests/utils_tests/test_decorators.py
index 10531937ad..6135eb1994 100644
--- a/tests/utils_tests/test_decorators.py
+++ b/tests/utils_tests/test_decorators.py
@@ -2,7 +2,7 @@ from django.http import HttpResponse
from django.template import engines
from django.template.response import TemplateResponse
from django.test import RequestFactory, SimpleTestCase
-from django.utils.decorators import decorator_from_middleware
+from django.utils.decorators import classproperty, decorator_from_middleware
class ProcessViewMiddleware(object):
@@ -107,3 +107,41 @@ class DecoratorFromMiddlewareTests(SimpleTestCase):
self.assertTrue(getattr(request, 'process_response_reached', False))
# Check that process_response saw the rendered content
self.assertEqual(request.process_response_content, b"Hello world")
+
+
+class ClassPropertyTest(SimpleTestCase):
+ def test_getter(self):
+ class Foo(object):
+ foo_attr = 123
+
+ def __init__(self):
+ self.foo_attr = 456
+
+ @classproperty
+ def foo(cls):
+ return cls.foo_attr
+
+ class Bar(object):
+ bar = classproperty()
+
+ @bar.getter
+ def bar(cls):
+ return 123
+
+ self.assertEqual(Foo.foo, 123)
+ self.assertEqual(Foo().foo, 123)
+ self.assertEqual(Bar.bar, 123)
+ self.assertEqual(Bar().bar, 123)
+
+ def test_override_getter(self):
+ class Foo(object):
+ @classproperty
+ def foo(cls):
+ return 123
+
+ @foo.getter
+ def foo(cls):
+ return 456
+
+ self.assertEqual(Foo.foo, 456)
+ self.assertEqual(Foo().foo, 456)