/** * * @return \Library\ManagerBundle\Libraries\ResultSet */ public function getSearchResults() { $url = $this->_getBaseUrl() . $this->_query->encode(); $results = array(); if ($url !== $this->_getBaseUrl()) { $cacheFile = __DIR__ . '/../../../../app/cache/' . $this->_config['search_cache']['directory'] . '/' . md5($url); if ($this->_isCached($cacheFile)) { $results = $this->_getFromCache($cacheFile); } else { $results = (array) array_unique($this->_getParser()->parse($this->_curl->getPage($url)), SORT_REGULAR); $this->_cache($results, $cacheFile); } $resultSet = new ResultSet(count($results) > 0); } else { $resultSet = new ResultSet(false); } return $resultSet->setResults((array) $results); }
/** * @test */ public function encodeWithLanguageAndQuery() { $this->_query->setQuery('q', 'symfony')->setLanguage('label:', 'PHP'); $this->assertEquals('q=label%3APHP+symfony', $this->_query->encode()); }
/** * @test * @dataProvider queryParamsProvider */ public function setParamsAndEncodeQuery($langParam, $lang, $queryParam, $query, $expected) { $this->_query->setLanguage($langParam, $lang)->setQuery($queryParam, $query); $this->assertEquals($expected, $this->_query->encode()); }