You are here

function DrupalSolrSubQueryTests::testSubQueriesQuery in Apache Solr Search 6.2

File

tests/solr_base_subquery.test, line 19
Tests for the apachsolr module: base subquery.

Class

DrupalSolrSubQueryTests
@file Tests for the apachsolr module: base subquery.

Code

function testSubQueriesQuery() {
  $query1 = apachesolr_drupal_query('foo');
  $query2 = apachesolr_drupal_query('bar');
  $query3 = apachesolr_drupal_query('baz');
  $query1
    ->add_subquery($query2);
  $this
    ->assertEqual($query1
    ->get_query_basic(), 'foo AND (bar)', 'foo AND (bar)');
  $query1
    ->remove_subquery($query2);
  $this
    ->assertEqual($query1
    ->get_query_basic(), 'foo', t('Remove bar query'));
  $query1
    ->add_subquery($query2);
  $query1
    ->add_subquery($query2);
  $query1
    ->add_subquery($query2);
  $this
    ->assertEqual($query1
    ->get_query_basic(), 'foo AND (bar)', t('Add bar several times; should only appear once.'));
  $query1
    ->remove_subquery($query2);
  $query1
    ->add_subquery($query2, '', 'OR');
  $this
    ->assertEqual($query1
    ->get_query_basic(), 'foo OR (bar)', 'foo OR (bar)');
  $query1
    ->add_subquery($query3);
  $query1
    ->remove_subquery($query2);
  $this
    ->assertEqual($query1
    ->get_query_basic(), 'foo AND (baz)', 'foo AND (baz)');
}