public function testCompileDeleteOnSeveralTablesWithAlias() { $compiler = new BaseCompiler(); // Without ON clause. $components['deleteFrom'] = array('a', 'u'); $components['using'] = array(new JoinClause('articles', 'a'), new JoinClause('users', 'u')); $expected = 'DELETE FROM `a`,`u` USING `articles` `a` INNER JOIN `users` `u`'; $result = $compiler->compileDelete($components); $this->assertEquals($expected, $result); // With ON clause. $components['deleteFrom'] = array('a', 'u'); $joins[] = new JoinClause('articles', 'a'); $joins[] = (new JoinClause('users', 'u'))->on('a', 'user_id', 'u', 'id'); $components['using'] = $joins; $expected = 'DELETE FROM `a`,`u` USING `articles` `a` INNER JOIN `users` `u` ON `a`.`user_id` = `u`.`id`'; $result = $compiler->compileDelete($components); $this->assertEquals($expected, $result); }