diff options
-rw-r--r-- | tests/Builder/DeleteStatementTest.php | 82 |
1 files changed, 82 insertions, 0 deletions
diff --git a/tests/Builder/DeleteStatementTest.php b/tests/Builder/DeleteStatementTest.php new file mode 100644 index 0000000..6adea93 --- /dev/null +++ b/tests/Builder/DeleteStatementTest.php @@ -0,0 +1,82 @@ +<?php + +namespace SqlParser\Tests\Builder; + +use SqlParser\Parser; + +use SqlParser\Tests\TestCase; + +class DeleteStatementTest extends TestCase +{ + + public function testBuilderSingleTable() + { + /* Assertion 1 */ + $query = 'DELETE IGNORE FROM t1'; + + $parser = new Parser($query); + $stmt = $parser->statements[0]; + + $this->assertEquals($query, $stmt->build()); + + /* Assertion 2 */ + $query = 'DELETE IGNORE FROM t1 WHERE 1=1'; + + $parser = new Parser($query); + $stmt = $parser->statements[0]; + + $this->assertEquals($query, $stmt->build()); + + /* Assertion 3 */ + $query = 'DELETE IGNORE FROM t1 WHERE 1=1 ORDER BY id ASC'; + + $parser = new Parser($query); + $stmt = $parser->statements[0]; + + $this->assertEquals($query, $stmt->build()); + + /* Assertion 4 */ + $query = 'DELETE IGNORE FROM t1 WHERE 1=1 ORDER BY id ASC LIMIT 0, 25'; + + $parser = new Parser($query); + $stmt = $parser->statements[0]; + + $this->assertEquals($query, $stmt->build()); + + /* Assertion 5 */ + $query = 'DELETE IGNORE FROM t1'; + + $parser = new Parser($query); + $stmt = $parser->statements[0]; + + $this->assertEquals($query, $stmt->build()); + + /* Assertion 6 */ + $query = 'DELETE LOW_PRIORITY FROM `test`.users ' + . 'WHERE `id`<3 AND (username="Dan" OR username="Paul") ORDER BY id ASC'; + + $parser = new Parser($query); + $stmt = $parser->statements[0]; + + $this->assertEquals($query, $stmt->build()); + } + + public function testBuilderMultiTable() + { + /* Assertion 1 */ + $query = 'DELETE QUICK table1, table2.* FROM table1 AS `t1`, table2 AS `t2`'; + + $parser = new Parser($query); + $stmt = $parser->statements[0]; + + $this->assertEquals($query, $stmt->build()); + + /* Assertion 2 */ + $query = 'DELETE QUICK table1, table2.* FROM table1 AS `t1`, table2 AS `t2` WHERE 1=1'; + + $parser = new Parser($query); + $stmt = $parser->statements[0]; + + $this->assertEquals($query, $stmt->build()); + } +} |