summaryrefslogtreecommitdiffstats
path: root/tests/Builder/LockStatementTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/Builder/LockStatementTest.php')
-rw-r--r--tests/Builder/LockStatementTest.php68
1 files changed, 68 insertions, 0 deletions
diff --git a/tests/Builder/LockStatementTest.php b/tests/Builder/LockStatementTest.php
new file mode 100644
index 0000000..b0b4d38
--- /dev/null
+++ b/tests/Builder/LockStatementTest.php
@@ -0,0 +1,68 @@
+<?php
+
+namespace PhpMyAdmin\SqlParser\Tests\Builder;
+
+use PhpMyAdmin\SqlParser\Parser;
+use PhpMyAdmin\SqlParser\Tests\TestCase;
+
+class LockStatementTest extends TestCase
+{
+ public function testBuilder()
+ {
+ /* Assertion 1 */
+ $query = 'LOCK TABLES table1 AS `t1` READ LOCAL';
+
+ $parser = new Parser($query);
+ $stmt = $parser->statements[0];
+
+ $this->assertEquals($query, $stmt->build());
+
+ /* Assertion 2 */
+ $query = 'LOCK TABLES table1 AS `t1` READ';
+
+ $parser = new Parser($query);
+ $stmt = $parser->statements[0];
+
+ $this->assertEquals($query, $stmt->build());
+
+ /* Assertion 3 */
+ $query = 'LOCK TABLES table1 AS `t1` LOW_PRIORITY WRITE';
+
+ $parser = new Parser($query);
+ $stmt = $parser->statements[0];
+
+ $this->assertEquals($query, $stmt->build());
+
+ /* Assertion 4 */
+ $query = 'LOCK TABLES table1 AS `t1` WRITE';
+
+ $parser = new Parser($query);
+ $stmt = $parser->statements[0];
+
+ $this->assertEquals($query, $stmt->build());
+
+ /* Assertion 5 */
+ $query = 'LOCK TABLES table1 AS `t1` READ LOCAL, table2 AS `t2` WRITE';
+
+ $parser = new Parser($query);
+ $stmt = $parser->statements[0];
+
+ $this->assertEquals($query, $stmt->build());
+
+ /* Assertion 6 */
+ $query = 'LOCK TABLES table1 READ LOCAL, table2 AS `t2` WRITE';
+
+ $parser = new Parser($query);
+ $stmt = $parser->statements[0];
+
+ $this->assertEquals($query, $stmt->build());
+
+ /* Assertion 7 */
+ $query = 'UNLOCK TABLES';
+
+ $parser = new Parser($query);
+ $stmt = $parser->statements[0];
+
+ $this->assertEquals($query, $stmt->build());
+ }
+}