1 #!/usr/bin/env python 2 3 "Test sqlliterals." 4 5 import sqlliterals.pyparser 6 import sqlliterals.regexp 7 8 def show(regions): 9 non_literal = 1 10 for region in regions: 11 print region, 12 if non_literal: 13 print "(NL)", 14 else: 15 print "(L)", 16 non_literal = not non_literal 17 print 18 19 l = [ 20 "a = a", 21 "a = 'a'", 22 "'a' = a", 23 "'a' = 'a'", 24 "a = ''''", 25 "'''' = a", 26 "'''' = ''''", 27 "a = '''a'''", 28 "'''a''' = a", 29 "'''a''' = '''a'''" 30 ] 31 32 for s in l: 33 show(sqlliterals.pyparser.parseString(s)) 34 show(sqlliterals.regexp.parseString(s)) 35 36 l2 = [ 37 "a = ?", 38 "a = '?'", 39 "'a' = ?", 40 "'a' = '?'", 41 "a = ''?''", 42 "'''' = ?", 43 "'''' = ''?''", 44 "a = '''?'''", 45 "'''a''' = ?", 46 "'''a''' = '''?'''" 47 ] 48 49 for s in l2: 50 print sqlliterals.pyparser.replace("?", "%s", s) 51 print sqlliterals.regexp.replace("?", "%s", s) 52 53 # vim: tabstop=4 expandtab shiftwidth=4