Skip to content

Commit 64e6faa

Browse files
committed
Add more tests
1 parent ef83949 commit 64e6faa

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

tests/WP_SQLite_Driver_Translation_Tests.php

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,17 @@ public function testUpdate(): void {
168168
'UPDATE t SET c = 1 WHERE c = 2'
169169
);
170170

171+
// UPDATE with a table alias.
172+
$this->assertQuery(
173+
'UPDATE `t` AS `a` SET `c` = 1 WHERE `a`.`c` = 2',
174+
'UPDATE t AS a SET c = 1 WHERE a.c = 2'
175+
);
176+
177+
$this->assertQuery(
178+
'UPDATE `t` AS `a` SET `c` = 1 WHERE `a`.`c` = 2',
179+
'UPDATE t AS a SET a.c = 1 WHERE a.c = 2'
180+
);
181+
171182
// UPDATE with LIMIT.
172183
$this->assertQuery(
173184
'UPDATE `t` SET `c` = 1 WHERE rowid IN ( SELECT rowid FROM `t` LIMIT 1 )',
@@ -179,6 +190,24 @@ public function testUpdate(): void {
179190
'UPDATE `t` SET `c` = 1 WHERE rowid IN ( SELECT rowid FROM `t` ORDER BY `c` ASC LIMIT 1 )',
180191
'UPDATE t SET c = 1 ORDER BY c ASC LIMIT 1'
181192
);
193+
194+
// UPDATE with multiple tables.
195+
$this->assertQuery(
196+
'UPDATE `t1` SET `id` = 1 FROM `t2` WHERE `t1`.`c` = `t2`.`c`',
197+
'UPDATE t1, t2 SET t1.id = 1 WHERE t1.c = t2.c'
198+
);
199+
200+
// UPDATE with JOIN.
201+
$this->assertQuery(
202+
'UPDATE `t1` SET `id` = 1 FROM `t2` WHERE `t1`.`c` = 2 AND `t1`.`c` = `t2`.`c`',
203+
'UPDATE t1 JOIN t2 ON t1.c = t2.c SET t1.id = 1 WHERE t1.c = 2'
204+
);
205+
206+
// UPDATE with JOIN using a derived table.
207+
$this->assertQuery(
208+
'UPDATE `t1` SET `id` = 1 FROM ( SELECT * FROM `t2` ) AS `t2` WHERE `t1`.`c` = 2 AND `t1`.`c` = `t2`.`c`',
209+
'UPDATE t1 JOIN ( SELECT * FROM t2 ) AS t2 ON t1.c = t2.c SET t1.id = 1 WHERE t1.c = 2'
210+
);
182211
}
183212

184213
public function testDelete(): void {

0 commit comments

Comments
 (0)