summaryrefslogtreecommitdiff
path: root/tests/utils_tests/test_tree.py
diff options
context:
space:
mode:
authorSimon Charette <charette.s@gmail.com>2021-05-11 01:19:44 -0400
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2021-05-13 07:26:52 +0200
commitb81c7562fc33f50166d5120138d6398dc42b13c3 (patch)
treee7fe0581c08d4758aa5f2ba4213aa2af1d70c682 /tests/utils_tests/test_tree.py
parent3733ae895780f17430924f1e20ee320556c62d05 (diff)
Fixed #32717 -- Fixed filtering of querysets combined with the | operator.
Address a long standing bug in a Where.add optimization to discard equal nodes that was surfaced by implementing equality for Lookup instances in bbf141bcdc31f1324048af9233583a523ac54c94. Thanks Shaheed Haque for the report.
Diffstat (limited to 'tests/utils_tests/test_tree.py')
-rw-r--r--tests/utils_tests/test_tree.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/tests/utils_tests/test_tree.py b/tests/utils_tests/test_tree.py
index 154678ff57..279e8813b9 100644
--- a/tests/utils_tests/test_tree.py
+++ b/tests/utils_tests/test_tree.py
@@ -57,6 +57,11 @@ class NodeTests(unittest.TestCase):
self.assertEqual(len(self.node1) + 1, len(node3))
self.assertEqual(str(node3), "(DEFAULT: ('a', 1), ('b', 2), ('c', 3))")
+ def test_add_eq_child_mixed_connector(self):
+ node = Node(['a', 'b'], 'OR')
+ self.assertEqual(node.add('a', 'AND'), 'a')
+ self.assertEqual(node, Node([Node(['a', 'b'], 'OR'), 'a'], 'AND'))
+
def test_negate(self):
# negated is False by default
self.assertFalse(self.node1.negated)