public function testDispatchFromJoin($method, $type, $joinCond = null)
{
$this->markTestSkipped('Joins temporarily disabled');
$n = $this->qb->from('alias_1')->{$method}()->left()->document('foobar', 'alias_1')->end()->right()->document('barfoo', 'alias_2')->end();
switch ($joinCond) {
case 'child':
$n->condition()->child('child_alias', 'parent_alias')->end();
break;
case 'descendant':
$n->condition()->descendant('descendant_alias', 'ancestor_alias')->end();
break;
case 'sameDocument':
$n->condition()->sameDocument('alias_1_name', 'alias_2_name', '/alias2/path')->end();
break;
case 'equi':
default:
$n->condition()->equi('alias_1.prop_1', 'alias_2.prop_2')->end();
}
$n->end();
$from = $this->qb->getChildOfType(QBConstants::NT_FROM);
$res = $this->converter->dispatch($from);
$this->assertInstanceOf('PHPCR\\Query\\QOM\\JoinInterface', $res);
$this->assertEquals($type, $res->getJoinType());
$this->assertInstanceOf('PHPCR\\Query\\QOM\\SelectorInterface', $res->getLeft());
$this->assertInstanceOf('PHPCR\\Query\\QOM\\SelectorInterface', $res->getLeft());
}