@@ -160,6 +160,53 @@ public function testWhereCustomString()
160160 $ this ->assertSame ($ expectedBinds , $ builder ->getBinds ());
161161 }
162162
163+ public function testWhereCustomStringWithOperatorEscapeFalse ()
164+ {
165+ $ builder = $ this ->db ->table ('jobs ' );
166+
167+ $ where = 'CURRENT_TIMESTAMP() = DATE_ADD(column, INTERVAL 2 HOUR) ' ;
168+ $ builder ->where ($ where , null , false );
169+
170+ $ expectedSQL = 'SELECT * FROM "jobs" WHERE CURRENT_TIMESTAMP() = DATE_ADD(column, INTERVAL 2 HOUR) ' ;
171+ $ this ->assertSame ($ expectedSQL , str_replace ("\n" , ' ' , $ builder ->getCompiledSelect ()));
172+
173+ $ expectedBinds = [];
174+ $ this ->assertSame ($ expectedBinds , $ builder ->getBinds ());
175+ }
176+
177+ public function testWhereCustomStringWithoutOperatorEscapeFalse ()
178+ {
179+ $ builder = $ this ->db ->table ('jobs ' );
180+
181+ $ where = "REPLACE(column, 'somestring', '') " ;
182+ $ builder ->where ($ where , "'' " , false );
183+
184+ $ expectedSQL = "SELECT * FROM \"jobs \" WHERE REPLACE(column, 'somestring', '') = '' " ;
185+ $ this ->assertSame ($ expectedSQL , str_replace ("\n" , ' ' , $ builder ->getCompiledSelect ()));
186+
187+ $ expectedBinds = [
188+ "REPLACE(column, 'somestring', '') " => [
189+ 0 => "'' " ,
190+ 1 => false ,
191+ ],
192+ ];
193+ $ this ->assertSame ($ expectedBinds , $ builder ->getBinds ());
194+ }
195+
196+ public function testWhereCustomStringWithBetweenEscapeFalse ()
197+ {
198+ $ builder = $ this ->db ->table ('jobs ' );
199+
200+ $ where = "created_on BETWEEN '2022-07-01 00:00:00' AND '2022-12-31 23:59:59' " ;
201+ $ builder ->where ($ where , null , false );
202+
203+ $ expectedSQL = "SELECT * FROM \"jobs \" WHERE created_on BETWEEN '2022-07-01 00:00:00' AND '2022-12-31 23:59:59' " ;
204+ $ this ->assertSame ($ expectedSQL , str_replace ("\n" , ' ' , $ builder ->getCompiledSelect ()));
205+
206+ $ expectedBinds = [];
207+ $ this ->assertSame ($ expectedBinds , $ builder ->getBinds ());
208+ }
209+
163210 public function testWhereRawSql ()
164211 {
165212 $ builder = $ this ->db ->table ('jobs ' );
0 commit comments