summaryrefslogtreecommitdiffstats
path: root/tests/Builder
diff options
context:
space:
mode:
Diffstat (limited to 'tests/Builder')
-rw-r--r--tests/Builder/DeleteStatementTest.php90
-rw-r--r--tests/Builder/SelectStatementTest.php2
2 files changed, 91 insertions, 1 deletions
diff --git a/tests/Builder/DeleteStatementTest.php b/tests/Builder/DeleteStatementTest.php
new file mode 100644
index 0000000..a7500f0
--- /dev/null
+++ b/tests/Builder/DeleteStatementTest.php
@@ -0,0 +1,90 @@
+<?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());
+
+ /* Assertion 3 */
+ $query = 'DELETE QUICK FROM table1, table2.* USING table1 AS `t1`, table2 AS `t2` WHERE 1=1';
+
+ $parser = new Parser($query);
+ $stmt = $parser->statements[0];
+
+ $this->assertEquals($query, $stmt->build());
+ }
+}
diff --git a/tests/Builder/SelectStatementTest.php b/tests/Builder/SelectStatementTest.php
index 492d212..6f09888 100644
--- a/tests/Builder/SelectStatementTest.php
+++ b/tests/Builder/SelectStatementTest.php
@@ -49,7 +49,7 @@ class SelectStatementTest extends TestCase
'SELECT sgu.id, sgu.email_address FROM `sf_guard_user` AS `sgu` '
. 'RIGHT JOIN `student_course_booking` AS `scb` ON sgu.id = scb.user_id '
. 'WHERE `has_found_course` = \'1\' GROUP BY sgu.id ASC '
- . 'ORDER BY scb.id DESC LIMIT 300 ',
+ . 'ORDER BY scb.id DESC LIMIT 0, 300 ',
$stmt->build()
);
}