@@ -86,6 +86,12 @@ fn test_orm_func_where() {
8686 qb.where ('(salary >= ? AND (age <= ? OR title LIKE ?))' , 50000 , 35 , '%Manager%' )!
8787 assert qb.where.parentheses == [[1 , 2 ], [0 , 2 ]]
8888
89+ // test lowercase `like`
90+ qb.reset ()
91+ qb.where ('(salary >= ? AND (age <= ? OR title like ?))' , 50000 , 35 , '%Manager%' )!
92+ assert qb.where.parentheses == [[1 , 2 ], [0 , 2 ]]
93+ assert qb.where.kinds == [.ge, .le, .orm_like]
94+
8995 // complex_nesting
9096 qb.reset ()
9197 qb.where ('((age = ? OR (salary > ? AND id < ?)) AND (name LIKE ?))' , 1 , 2 , 3 , '%t est%' )!
@@ -96,6 +102,12 @@ fn test_orm_func_where() {
96102 qb.where ('name IN ? AND age NOT IN ?' , ['Tom' ], [2 ])!
97103 assert qb.where.fields == ['name' , 'age' ]
98104 assert qb.where.kinds == [.in , .not_in]
105+
106+ // lowercase in and not in
107+ qb.reset ()
108+ qb.where ('name in ? AND age not in ?' , ['Tom' ], [2 ])!
109+ assert qb.where.fields == ['name' , 'age' ]
110+ assert qb.where.kinds == [.in , .not_in]
99111}
100112
101113fn test_orm_func_stmts () {
@@ -503,6 +515,12 @@ fn test_orm_func_stmts() {
503515 assert selected_users[0 ].name == 'Silly'
504516 assert selected_users.len == 1
505517
518+ // complex select with lowercase `is null` and `like`
519+ selected_users1 := qb.where ('created_at is null && ((salary > ? && age < ?) || (role like ?))' ,
520+ 2000 , 30 , '%e mployee%' )! .query ()!
521+ assert selected_users1 [0 ].name == 'Silly'
522+ assert selected_users1 .len == 1
523+
506524 // chain where
507525 and_where := qb.where ('salary > ?' , 2000 )! .where ('age > ?' , 40 )! .query ()!
508526 assert and_where.len == 1
0 commit comments