From 3cfe3fd81d7ce3539633b80c99327767cebd09d5 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Sun, 19 Jul 2015 10:27:33 -0400 Subject: - Fixed bug where coersion of literal ``True`` or ``False`` constant in conjunction with :func:`.and_` or :func:`.or_` would fail with an AttributeError. fixes #3490 --- test/sql/test_operators.py | 58 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) (limited to 'test/sql') diff --git a/test/sql/test_operators.py b/test/sql/test_operators.py index 65d1e3716..bb4cb1bf1 100644 --- a/test/sql/test_operators.py +++ b/test/sql/test_operators.py @@ -825,6 +825,64 @@ class ConjunctionTest(fixtures.TestBase, testing.AssertsCompiledSQL): "SELECT false AS anon_1, false AS anon_2" ) + def test_is_true_literal(self): + c = column('x', Boolean) + self.assert_compile( + c.is_(True), + "x IS true" + ) + + def test_is_false_literal(self): + c = column('x', Boolean) + self.assert_compile( + c.is_(False), + "x IS false" + ) + + def test_and_false_literal_leading(self): + self.assert_compile( + and_(False, True), + "false" + ) + + self.assert_compile( + and_(False, False), + "false" + ) + + def test_and_true_literal_leading(self): + self.assert_compile( + and_(True, True), + "true" + ) + + self.assert_compile( + and_(True, False), + "false" + ) + + def test_or_false_literal_leading(self): + self.assert_compile( + or_(False, True), + "true" + ) + + self.assert_compile( + or_(False, False), + "false" + ) + + def test_or_true_literal_leading(self): + self.assert_compile( + or_(True, True), + "true" + ) + + self.assert_compile( + or_(True, False), + "true" + ) + class OperatorPrecedenceTest(fixtures.TestBase, testing.AssertsCompiledSQL): __dialect__ = 'default' -- cgit v1.2.1