/** * Test query parsing. * * @return void */ public function testParsing() { // Set up an array of expected inputs (serialized objects) and outputs // (queries): // @codingStandardsIgnoreStart $tests = [['basic', 'Author:(john smith)'], ['advanced', '(Title:(bananas)) AND (SubjectTerms:(oranges) OR apples) NOT ((PublicationSeriesTitle:(pears)))']]; // @codingStandardsIgnoreEnd $qb = new QueryBuilder(); foreach ($tests as $test) { list($input, $output) = $test; $q = unserialize(file_get_contents(PHPUNIT_SEARCH_FIXTURES . '/summon/query/' . $input)); $response = $qb->build($q); $processedQ = $response->get('query'); $this->assertEquals($output, $processedQ[0]); } }
/** * Create the Summon query builder. * * @return QueryBuilder */ protected function createQueryBuilder() { $builder = new QueryBuilder(); $caseSensitiveBooleans = isset($this->summonConfig->General->case_sensitive_bools) ? $this->summonConfig->General->case_sensitive_bools : true; $helper = new LuceneSyntaxHelper($caseSensitiveBooleans); $builder->setLuceneHelper($helper); return $builder; }