summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/queries/test_qs_combinators.py26
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/queries/test_qs_combinators.py b/tests/queries/test_qs_combinators.py
index 97b3f97b68..865e172816 100644
--- a/tests/queries/test_qs_combinators.py
+++ b/tests/queries/test_qs_combinators.py
@@ -61,6 +61,32 @@ class QuerySetSetOperationTests(TestCase):
self.assertSequenceEqual(qs3.none(), [])
self.assertNumbersEqual(qs3, [0, 1, 8, 9], ordered=False)
+ def test_union_none_slice(self):
+ qs1 = Number.objects.filter(num__lte=0)
+ qs2 = Number.objects.none()
+ qs3 = qs1.union(qs2)
+ self.assertNumbersEqual(qs3[:1], [0])
+
+ def test_union_empty_filter_slice(self):
+ qs1 = Number.objects.filter(num__lte=0)
+ qs2 = Number.objects.filter(pk__in=[])
+ qs3 = qs1.union(qs2)
+ self.assertNumbersEqual(qs3[:1], [0])
+
+ @skipUnlessDBFeature("supports_slicing_ordering_in_compound")
+ def test_union_slice_compound_empty(self):
+ qs1 = Number.objects.filter(num__lte=0)[:1]
+ qs2 = Number.objects.none()
+ qs3 = qs1.union(qs2)
+ self.assertNumbersEqual(qs3[:1], [0])
+
+ @skipUnlessDBFeature("supports_slicing_ordering_in_compound")
+ def test_union_combined_slice_compound_empty(self):
+ qs1 = Number.objects.filter(num__lte=2)[:3]
+ qs2 = Number.objects.none()
+ qs3 = qs1.union(qs2)
+ self.assertNumbersEqual(qs3.order_by("num")[2:3], [2])
+
def test_union_order_with_null_first_last(self):
Number.objects.filter(other_num=5).update(other_num=None)
qs1 = Number.objects.filter(num__lte=1)