summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/model_enums/tests.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/tests/model_enums/tests.py b/tests/model_enums/tests.py
index 264a4b1703..32f0ad3668 100644
--- a/tests/model_enums/tests.py
+++ b/tests/model_enums/tests.py
@@ -9,6 +9,7 @@ from django.test import SimpleTestCase
from django.utils.deprecation import RemovedInDjango60Warning
from django.utils.functional import Promise
from django.utils.translation import gettext_lazy as _
+from django.utils.version import PY311
class Suit(models.IntegerChoices):
@@ -187,6 +188,7 @@ class ChoicesTests(SimpleTestCase):
def test_do_not_call_in_templates_member(self):
# do_not_call_in_templates is not implicitly treated as a member.
Special = models.IntegerChoices("Special", "do_not_call_in_templates")
+ self.assertIn("do_not_call_in_templates", Special.__members__)
self.assertEqual(
Special.do_not_call_in_templates.label,
"Do Not Call In Templates",
@@ -197,6 +199,16 @@ class ChoicesTests(SimpleTestCase):
"do_not_call_in_templates",
)
+ def test_do_not_call_in_templates_nonmember(self):
+ self.assertNotIn("do_not_call_in_templates", Suit.__members__)
+ if PY311:
+ self.assertIs(Suit.do_not_call_in_templates, True)
+ else:
+ # Using @property on an enum does not behave as expected.
+ self.assertTrue(Suit.do_not_call_in_templates)
+ self.assertIsNot(Suit.do_not_call_in_templates, True)
+ self.assertIsInstance(Suit.do_not_call_in_templates, property)
+
class Separator(bytes, models.Choices):
FS = b"\x1c", "File Separator"