diff options
Diffstat (limited to 'tests/Components/JoinKeywordTest.php')
-rw-r--r-- | tests/Components/JoinKeywordTest.php | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/Components/JoinKeywordTest.php b/tests/Components/JoinKeywordTest.php new file mode 100644 index 0000000..1130f5c --- /dev/null +++ b/tests/Components/JoinKeywordTest.php @@ -0,0 +1,36 @@ +<?php + +namespace SqlParser\Tests\Components; + +use SqlParser\Parser; +use SqlParser\Components\JoinKeyword; + +use SqlParser\Tests\TestCase; + +class JoinKeywordTest extends TestCase +{ + + public function testParseIncomplete() + { + $component = JoinKeyword::parse(new Parser(), $this->getTokensList('JOIN a')); + $this->assertEquals(1, count($component)); + $this->assertEquals('a', $component[0]->expr->expr); + $this->assertEquals(null, $component[0]->on); + } + + public function testBuild() + { + $component = JoinKeyword::parse( + new Parser(), + $this->getTokensList( + 'LEFT JOIN (t2 CROSS JOIN t3 CROSS JOIN t4) '. + 'ON (t2.a=t1.a AND t3.b=t1.b AND t4.c=t1.c)' + ) + ); + $this->assertEquals( + 'LEFT JOIN (t2 CROSS JOIN t3 CROSS JOIN t4) '. + 'ON (t2.a=t1.a AND t3.b=t1.b AND t4.c=t1.c)', + JoinKeyword::build($component) + ); + } +} |