summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorMariusz Felisiak <felisiak.mariusz@gmail.com>2017-07-10 19:45:09 +0200
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2017-07-10 20:50:50 +0200
commit346b46a274aa8f945aec7d63ea962b41c2c32e40 (patch)
tree538c3c80544edb41c819cf2d8cb94a38eb724df9 /tests
parentb72298de75952a5f8871f973c3e62f6634588443 (diff)
[1.11.x] Fixed #28378 -- Fixed union() and difference() when combining with a queryset raising EmptyResultSet.
Thanks Jon Dufresne for the report. Thanks Tim Graham and Simon Charette for the reviews. Backport of ca74e563500e291480f1976b58fcd34aac768dca from master
Diffstat (limited to 'tests')
-rw-r--r--tests/queries/test_qs_combinators.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/tests/queries/test_qs_combinators.py b/tests/queries/test_qs_combinators.py
index 235eb4f15d..2374bb2868 100644
--- a/tests/queries/test_qs_combinators.py
+++ b/tests/queries/test_qs_combinators.py
@@ -61,18 +61,26 @@ class QuerySetSetOperationTests(TestCase):
def test_difference_with_empty_qs(self):
qs1 = Number.objects.all()
qs2 = Number.objects.none()
+ qs3 = Number.objects.filter(pk__in=[])
self.assertEqual(len(qs1.difference(qs2)), 10)
+ self.assertEqual(len(qs1.difference(qs3)), 10)
self.assertEqual(len(qs2.difference(qs1)), 0)
+ self.assertEqual(len(qs3.difference(qs1)), 0)
self.assertEqual(len(qs2.difference(qs2)), 0)
+ self.assertEqual(len(qs3.difference(qs3)), 0)
def test_union_with_empty_qs(self):
qs1 = Number.objects.all()
qs2 = Number.objects.none()
+ qs3 = Number.objects.filter(pk__in=[])
self.assertEqual(len(qs1.union(qs2)), 10)
self.assertEqual(len(qs2.union(qs1)), 10)
+ self.assertEqual(len(qs1.union(qs3)), 10)
+ self.assertEqual(len(qs3.union(qs1)), 10)
self.assertEqual(len(qs2.union(qs1, qs1, qs1)), 10)
self.assertEqual(len(qs2.union(qs1, qs1, all=True)), 20)
self.assertEqual(len(qs2.union(qs2)), 0)
+ self.assertEqual(len(qs3.union(qs3)), 0)
def test_union_bad_kwarg(self):
qs1 = Number.objects.all()