# $Id: test_sqlgrammar.py,v 1.4 2002/05/08 00:49:01 anthonybaxter Exp $
import unittest
from gadfly.semantics import Parse_Context
from gadfly import sql,bindings
sql = sql.getSQL()
sql = bindings.BindRules(sql)
class test_SQLGrammar(unittest.TestCase):
def test(self):
tests = [
"select a from x where b=c",
"select distinct x.a from x where x.b=c",
"select all a from x where b=c",
"select a from x, y where b=c or x.d=45",
"select a as k from x d, y as m where b=c",
"select 1 as n, a from x where b=c",
"select * from x",
"select a from x where b=c",
"select a from x where not b=c or d=1 and e=5",
"select a from x where a=1 and (x.b=3 or not b=c)",
"select -1 from x",
"select -1e6j from x",
"insert into table1 (a,b,c) values (-1e6+3j, -34e10, 56j)"
]
context = Parse_Context()
for test in tests:
sql.DoParse1(test, context)
def suite():
l = [unittest.makeSuite(test_SQLGrammar),
]
return unittest.TestSuite(l)
if __name__ == '__main__':
runner = unittest.TextTestRunner()
runner.run(suite())
#
# $Log: test_sqlgrammar.py,v $
# Revision 1.4 2002/05/08 00:49:01 anthonybaxter
# El Grande Grande reindente! Ran reindent.py over the whole thing.
# Gosh, what a lot of checkins. Tests still pass with 2.1 and 2.2.
#
# Revision 1.3 2002/05/07 07:06:11 richard
# Cleaned up sql grammar compilation some more.
# Split up the BigList into its components too.
#
# Revision 1.2 2002/05/06 23:27:10 richard
# . made the installation docco easier to find
# . fixed a "select *" test - column ordering is different for py 2.2
# . some cleanup in gadfly/kjParseBuild.py
# . made the test modules runnable (remembering that run_tests can take a
# name argument to run a single module)
# . fixed the module name in gadfly/kjParser.py
#
#
|