diff options
| author | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2018-02-28 18:05:23 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-02-28 18:05:23 +0100 |
| commit | 54f80430be4a9adf1fc00b4ca17547415fafc69b (patch) | |
| tree | d3d749ef496d8a5aa3b3738c80d47a9c30251e4f /tests | |
| parent | 3fb718f17d0684a2eabcf4af722e84ac4608c76f (diff) | |
Fixed #29166 -- Fixed crash in When() expression with a list argument.
Thanks Matthew Pava for the report and Tim Graham and Carlton Gibson for
reviews.
Regression in 19b2dfd1bfe7fd716dd3d8bfa5f972070d83b42f.
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/expressions_case/tests.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/tests/expressions_case/tests.py b/tests/expressions_case/tests.py index 90aba36031..a688dc073d 100644 --- a/tests/expressions_case/tests.py +++ b/tests/expressions_case/tests.py @@ -1288,6 +1288,24 @@ class CaseDocumentationExamples(TestCase): transform=attrgetter('name', 'account_type') ) + def test_hash(self): + expression_1 = Case( + When(account_type__in=[Client.REGULAR, Client.GOLD], then=1), + default=2, + output_field=models.IntegerField(), + ) + expression_2 = Case( + When(account_type__in=(Client.REGULAR, Client.GOLD), then=1), + default=2, + output_field=models.IntegerField(), + ) + expression_3 = Case(When(account_type__in=[Client.REGULAR, Client.GOLD], then=1), default=2) + expression_4 = Case(When(account_type__in=[Client.PLATINUM, Client.GOLD], then=2), default=1) + self.assertEqual(hash(expression_1), hash(expression_2)) + self.assertNotEqual(hash(expression_2), hash(expression_3)) + self.assertNotEqual(hash(expression_1), hash(expression_4)) + self.assertNotEqual(hash(expression_3), hash(expression_4)) + class CaseWhenTests(SimpleTestCase): def test_only_when_arguments(self): |
