diff options
Diffstat (limited to 'odoo/addons/base/tests/test_expression.py')
| -rw-r--r-- | odoo/addons/base/tests/test_expression.py | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/odoo/addons/base/tests/test_expression.py b/odoo/addons/base/tests/test_expression.py index 8cb405319f4..810db9b888b 100644 --- a/odoo/addons/base/tests/test_expression.py +++ b/odoo/addons/base/tests/test_expression.py @@ -593,6 +593,17 @@ class TestExpression(SavepointCaseWithUserDemo): norm_domain = ['&', '&', '&'] + domain self.assertEqual(norm_domain, expression.normalize_domain(domain), "Non-normalized domains should be properly normalized") + def test_35_negating_thruty_leafs(self): + self.assertEqual(expression.distribute_not(['!', '!', expression.TRUE_LEAF]), [expression.TRUE_LEAF], "distribute_not applied wrongly") + self.assertEqual(expression.distribute_not(['!', '!', expression.FALSE_LEAF]), [expression.FALSE_LEAF], "distribute_not applied wrongly") + self.assertEqual(expression.distribute_not(['!', '!', '!', '!', expression.TRUE_LEAF]), [expression.TRUE_LEAF], "distribute_not applied wrongly") + self.assertEqual(expression.distribute_not(['!', '!', '!', '!', expression.FALSE_LEAF]), [expression.FALSE_LEAF], "distribute_not applied wrongly") + + self.assertEqual(expression.distribute_not(['!', expression.TRUE_LEAF]), [expression.FALSE_LEAF], "distribute_not applied wrongly") + self.assertEqual(expression.distribute_not(['!', expression.FALSE_LEAF]), [expression.TRUE_LEAF], "distribute_not applied wrongly") + self.assertEqual(expression.distribute_not(['!', '!', '!', expression.TRUE_LEAF]), [expression.FALSE_LEAF], "distribute_not applied wrongly") + self.assertEqual(expression.distribute_not(['!', '!', '!', expression.FALSE_LEAF]), [expression.TRUE_LEAF], "distribute_not applied wrongly") + def test_40_negating_long_expression(self): source = ['!', '&', ('user_id', '=', 4), ('partner_id', 'in', [1, 2])] expect = ['|', ('user_id', '!=', 4), ('partner_id', 'not in', [1, 2])] |
