diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2015-07-19 10:27:33 -0400 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2015-07-19 10:27:33 -0400 |
| commit | 3cfe3fd81d7ce3539633b80c99327767cebd09d5 (patch) | |
| tree | 16000577833d3c3eb7b69c320cf8a0986f1e0b2d /test/sql | |
| parent | 41aead96cdfd581c053a395992e1a3cf0b6a5572 (diff) | |
| download | sqlalchemy-3cfe3fd81d7ce3539633b80c99327767cebd09d5.tar.gz | |
- 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
Diffstat (limited to 'test/sql')
| -rw-r--r-- | test/sql/test_operators.py | 58 |
1 files changed, 58 insertions, 0 deletions
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' |
