/** * Tests the JDatabaseQuery::union method. * * @return void * * @since 12.1 */ public function testUnionTwo() { TestReflection::setValue($this->_instance, 'union', null); $this->_instance->union('SELECT name FROM foo'); $this->_instance->union('SELECT name FROM bar'); $teststring = (string) TestReflection::getValue($this->_instance, 'union'); $this->assertThat($teststring, $this->equalTo(PHP_EOL . "UNION (SELECT name FROM foo)" . PHP_EOL . "UNION (SELECT name FROM bar)"), 'Tests rendered query with two unions sequentially.'); }
/** * Tests the JDatabaseQuery::union method. * * @return void * * @covers JDatabaseQuery::union * @since 12.1 */ public function testUnionTwo() { $this->_instance->union = null; $this->_instance->union('SELECT name FROM foo'); $this->_instance->union('SELECT name FROM bar'); $teststring = (string) $this->_instance->union; $this->assertThat($teststring, $this->equalTo(PHP_EOL . "UNION (SELECT name FROM foo)" . PHP_EOL . "UNION (SELECT name FROM bar)"), 'Tests rendered query with two unions sequentially.'); }
/** * Tests the JDatabaseQuery::union method when passed two query objects in an array. * * @return void * * @since 12.?? */ public function testUnionObjectsArray() { $this->_instance->select('name')->from('foo')->where('a=1'); $q2 = new JDatabaseQueryInspector($this->dbo); $q2->select('name')->from('bar')->where('b=2'); $q3 = new JDatabaseQueryInspector($this->dbo); $q3->select('name')->from('baz')->where('c=3'); TestReflection::setValue($this->_instance, 'union', null); $this->_instance->union(array($q2, $q3)); $this->assertThat((string) $this->_instance, $this->equalTo(PHP_EOL . "SELECT name" . PHP_EOL . "FROM foo" . PHP_EOL . "WHERE a=1" . PHP_EOL . "UNION (" . PHP_EOL . "SELECT name" . PHP_EOL . "FROM bar" . PHP_EOL . "WHERE b=2)" . PHP_EOL . "UNION (" . PHP_EOL . "SELECT name" . PHP_EOL . "FROM baz" . PHP_EOL . "WHERE c=3)")); }