Skip to content

Commit 887750d

Browse files
committed
Add more test cases for #260
Signed-off-by: William Desportes <[email protected]>
1 parent 4a270a2 commit 887750d

10 files changed

Lines changed: 1963 additions & 1 deletion
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
<?php
2+
3+
declare(strict_types=1);
4+
5+
namespace PhpMyAdmin\SqlParser\Tests\Builder;
6+
7+
use PhpMyAdmin\SqlParser\Parser;
8+
use PhpMyAdmin\SqlParser\Tests\TestCase;
9+
10+
class UpdateStatementTest extends TestCase
11+
{
12+
public function testBuilder(): void
13+
{
14+
/* Assertion 1 */
15+
$parser = new Parser(
16+
'update user u left join user_detail ud on u.id = ud.user_id set ud.ip =\'33\' where u.id = 1'
17+
);
18+
$stmt = $parser->statements[0];
19+
$this->assertEquals(
20+
'UPDATE user AS `u` SET ud.ip = \'33\' WHERE u.id = 1',
21+
$stmt->build()
22+
);
23+
/* Assertion 2 */
24+
$parser = new Parser(
25+
'update user u join user_detail ud on u.id = ud.user_id set ud.ip =\'33\' where u.id = 1'
26+
);
27+
$stmt = $parser->statements[0];
28+
$this->assertEquals(
29+
'UPDATE user AS `u` SET ud.ip = \'33\' WHERE u.id = 1',
30+
$stmt->build()
31+
);
32+
/* Assertion 3 */
33+
$parser = new Parser(
34+
'update user u inner join user_detail ud on u.id = ud.user_id set ud.ip =\'33\' where u.id = 1'
35+
);
36+
$stmt = $parser->statements[0];
37+
$this->assertEquals(
38+
'UPDATE user AS `u` SET ud.ip = \'33\' WHERE u.id = 1',
39+
$stmt->build()
40+
);
41+
}
42+
}

tests/Parser/UpdateStatementTest.php

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,13 @@ public function testUpdate(string $test): void
2222
public function updateProvider(): array
2323
{
2424
return [
25-
['parser/parseUpdate'],
25+
['parser/parseUpdate1'],
2626
['parser/parseUpdate2'],
2727
['parser/parseUpdate3'],
28+
['parser/parseUpdate4'],
29+
['parser/parseUpdate5'],
30+
['parser/parseUpdate6'],
31+
['parser/parseUpdate7'],
2832
['parser/parseUpdateErr'],
2933
];
3034
}

tests/data/parser/parseUpdate5.in

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
update user u left join user_detail ud on u.id = ud.user_id set ud.ip ='33' where u.id = 1

0 commit comments

Comments
 (0)