1752171309 gFFBC%2BJB4H%3AphpDocumentor-projectDescriptor-files-251bccf1480db69eb99326a6bcbc93ee O:39:"phpDocumentor\Descriptor\FileDescriptor":23:{s:8:"*fqsen";N;s:7:"*name";s:14:"ParamsTest.php";s:12:"*namespace";s:0:"";s:10:"*package";s:5:"Tests";s:10:"*summary";s:19:"Blender Params Test";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:687:"PHP version 8 Copyright (C) The National Library of Finland 2022. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2, as published by the Free Software Foundation. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:17:"*fileDescriptor";N;s:7:"*line";i:0;s:7:"*tags";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:5:{s:8:"category";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{i:0;O:38:"phpDocumentor\Descriptor\TagDescriptor":3:{s:7:"*name";s:8:"category";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:6:"VuFind";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}}}}s:7:"package";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{i:0;O:38:"phpDocumentor\Descriptor\TagDescriptor":3:{s:7:"*name";s:7:"package";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:5:"Tests";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}}}}s:6:"author";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{i:0;O:45:"phpDocumentor\Descriptor\Tag\AuthorDescriptor":3:{s:7:"*name";s:6:"author";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:37:"Ere Maijala ";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}}}}s:7:"license";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{i:0;O:38:"phpDocumentor\Descriptor\TagDescriptor":3:{s:7:"*name";s:7:"license";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:69:"http://opensource.org/licenses/gpl-2.0.php GNU General Public License";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}}}}s:4:"link";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{i:0;O:43:"phpDocumentor\Descriptor\Tag\LinkDescriptor":4:{s:7:"*name";s:4:"link";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:4:"Wiki";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:7:"*link";s:54:"https://vufind.org/wiki/development:testing:unit_tests";}}}}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:19:"*inheritedElement";N;s:7:"*hash";s:32:"cb893d4c6518bb2749dd2d67c59bc771";s:7:"*path";s:68:"VuFind/tests/unit-tests/src/VuFindTest/Search/Blender/ParamsTest.php";s:9:"*source";s:37170:" * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License * @link https://vufind.org/wiki/development:testing:unit_tests Wiki */ namespace VuFindTest\Search\Blender; use Laminas\Config\Config; use Laminas\Stdlib\Parameters; use VuFind\Search\Blender\Options; use VuFind\Search\Blender\Params; use VuFind\Search\Solr\HierarchicalFacetHelper; use VuFindSearch\ParamBag; use VuFindSearch\Query\Query; /** * Blender Params Test * * @category VuFind * @package Tests * @author Ere Maijala * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License * @link https://vufind.org/wiki/development:testing:unit_tests Wiki */ class ParamsTest extends \PHPUnit\Framework\TestCase { /** * Blender config * * @var array */ protected $config = [ 'Backends' => [ 'Solr' => 'Local', 'Primo' => 'CDI', 'EDS' => 'EBSCO', ], 'Blending' => [ 'initialResults' => [ 'Solr', 'Solr', 'Primo', 'EDS', 'Primo', 'EDS', ], ], ]; /** * Mappings * * @var array */ protected $mappings = [ 'Facets' => [ 'Fields' => [ 'building' => [ 'Mappings' => [ 'Solr' => [ 'Field' => 'building', ], 'EDS' => [ 'Field' => 'building', 'Hierarchical' => true, 'Values' => [ 'main' => '0/Main/', 'sub' => '1/Sub/Fiction/', ], ], ], ], 'format' => [ 'Mappings' => [ 'Solr' => [ 'Field' => 'formatSolr', ], 'Primo' => [ 'Field' => 'formatPrimo', 'Values' => [ 'barPrimo' => 'bar', 'bazPrimo' => 'baz', 'double1' => 'double', 'double2' => 'double', ], ], ], ], 'fulltext' => [ 'Type' => 'boolean', 'Mappings' => [ 'Solr' => [ 'Field' => 'fulltext_boolean', ], 'Primo' => [ 'Field' => 'pcAvailability', 'Values' => [ 'false' => '1', ], 'DefaultValue' => 'true', ], 'EDS' => [ 'Field' => 'LIMIT|FT', 'Values' => [ 'y' => '1', ], ], ], ], 'publish_date' => [ 'Mappings' => [ 'Solr' => [ 'Field' => 'publishDate', ], 'Primo' => [ 'Field' => 'creationdate', ], 'EDS' => [ 'Field' => 'PublishDate', ], ], ], ], ], 'Search' => [ 'Fields' => [ 'AllFields' => [ 'Mappings' => [ 'Solr' => 'AllFields', 'Primo' => 'AllFields', 'EDS' => 'AllFields', ], ], 'Title' => [ 'Mappings' => [ 'Solr' => 'Title', 'Primo' => 'Title', 'EDS' => 'TI', ], ], ], ], 'Sorting' => [ 'Fields' => [ 'relevance' => [ 'Mappings' => [ 'Solr' => 'relevance', 'Primo' => 'relevance', 'EDS' => 'relevance', ], ], 'year' => [ 'Mappings' => [ 'Solr' => 'year', 'Primo' => 'scdate', 'EDS' => 'date', ], ], ], ], ]; /** * EDS API configuration * * @var array */ protected $edsApiConfig = [ 'AvailableSearchCriteria' => [ 'AvailableSorts' => [ [ 'Id' => 'date', 'Label' => 'Date Newest', ], ], ], ]; /** * EDS configuration * * @var array */ protected $edsConfig = [ 'Sorting' => [ 'relevance' => 'relevance', 'date' => 'year', ], ]; /** * Primo configuration * * @var array */ protected $primoConfig = [ 'Sorting' => [ 'relevance' => 'relevance', 'scdate' => 'year', ], ]; /** * Blender configuration * * @var array */ protected $blenderConfig = [ 'SpecialFacets' => [ 'dateRange' => [ 'publish_date', ], ], ]; /** * Mock config manager * * @var object */ protected $configManager = null; /** * Test that we get the correct search class ID. * * @return void */ public function testGetSearchClassId(): void { $this->assertEquals('Blender', $this->getParams()->getSearchClassId()); } /** * Test that facets and filters work as expected. * * @return void */ public function testFacetsAndFilters(): void { // None by default: $params = $this->getParams(); $this->assertEquals([], $params->getCheckboxFacets()); // Adding one works: $params->addCheckboxFacet('format:bar', 'checkbox_label'); $this->assertEquals( [ [ 'desc' => 'checkbox_label', 'filter' => 'format:bar', 'selected' => false, 'alwaysVisible' => false, 'dynamic' => false, ], ], $params->getCheckboxFacets() ); // Selecting one works: $params->addFilter('format:bar'); $this->assertEquals( [ [ 'desc' => 'checkbox_label', 'filter' => 'format:bar', 'selected' => true, 'alwaysVisible' => false, 'dynamic' => false, ], ], $params->getCheckboxFacets() ); $backendParams = $params->getBackendParameters(); // Make sure EDS is disabled since we don't have a mapping for it: $this->assertEquals( [ 'format:"bar"', '-blender_backend:"EDS"', ], $backendParams->get('fq') ); $solrParams = $backendParams->get('params_Solr')[0]; $primoParams = $backendParams->get('params_Primo')[0]; $this->assertInstanceOf(ParamBag::class, $solrParams); $this->assertInstanceOf(ParamBag::class, $primoParams); $this->assertEquals( ['formatSolr:"bar"'], $solrParams->get('fq') ); $this->assertEquals( [ [ 'field' => 'formatPrimo', 'facetOp' => 'AND', 'values' => ['barPrimo'], ], [ 'field' => 'pcAvailability', 'facetOp' => 'AND', 'values' => ['true'], ], ], $primoParams->get('filterList') ); // Remove a filter and check that EDS is enabled again: $params->removeFilter('format:bar'); $backendParams = $params->getBackendParameters(); $this->assertNull($backendParams->get('fq')); // Add multiple filters: $params->addFilter('~format:bar'); $params->addFilter('~format:baz'); $params->addFilter('fulltext:1'); $this->assertTrue($params->hasFilter('~format:bar')); $this->assertTrue($params->hasFilter('~format:baz')); $this->assertTrue($params->hasFilter('fulltext:1')); $backendParams = $params->getBackendParameters(); $solrParams = $backendParams->get('params_Solr')[0]; $primoParams = $backendParams->get('params_Primo')[0]; $edsParams = $backendParams->get('params_EDS')[0]; $this->assertEquals( [ 'fulltext_boolean:"1"', '{!tag=formatSolr_filter}formatSolr:(formatSolr:"bar"' . ' OR formatSolr:"baz")', ], $solrParams->get('fq') ); $this->assertEquals( [ [ 'field' => 'formatPrimo', 'facetOp' => 'OR', 'values' => [ 'barPrimo', 'bazPrimo', ], ], [ 'field' => 'pcAvailability', 'facetOp' => 'AND', 'values' => ['false'], ], ], $primoParams->get('filterList') ); $this->assertEquals(['LIMIT|FT:y'], $edsParams->get('filters')); // Remove format filters and verify: $params->removeFilter('~format:bar'); $params->removeFilter('~format:baz'); $backendParams = $params->getBackendParameters(); $this->assertEquals(['fulltext:"1"'], $backendParams->get('fq')); $solrParams = $backendParams->get('params_Solr')[0]; $primoParams = $backendParams->get('params_Primo')[0]; $edsParams = $backendParams->get('params_EDS')[0]; $this->assertEquals(['fulltext_boolean:"1"'], $solrParams->get('fq')); $this->assertEquals( [ [ 'field' => 'pcAvailability', 'facetOp' => 'AND', 'values' => ['false'], ], ], $primoParams->get('filterList') ); $this->assertEquals(['LIMIT|FT:y'], $edsParams->get('filters')); $params->removeAllFilters('building'); $params->removeFilter('fulltext:1'); $backendParams = $params->getBackendParameters(); $this->assertNull($backendParams->get('fq')); $solrParams = $backendParams->get('params_Solr')[0]; $primoParams = $backendParams->get('params_Primo')[0]; $edsParams = $backendParams->get('params_EDS')[0]; $this->assertNull($solrParams->get('fq')); $this->assertEquals( [ [ 'field' => 'pcAvailability', 'facetOp' => 'AND', 'values' => ['true'], ], ], $primoParams->get('filterList') ); $this->assertNull($edsParams->get('filters')); // Set an overriding value: $params = $this->getParams(); $params->addFilter('fulltext:1'); $backendParams = $params->getBackendParameters(); $this->assertEquals(['fulltext:"1"'], $backendParams->get('fq')); $solrParams = $backendParams->get('params_Solr')[0]; $primoParams = $backendParams->get('params_Primo')[0]; $edsParams = $backendParams->get('params_EDS')[0]; $this->assertEquals(['fulltext_boolean:"1"'], $solrParams->get('fq')); $this->assertEquals( [ [ 'field' => 'pcAvailability', 'facetOp' => 'AND', 'values' => ['false'], ], ], $primoParams->get('filterList') ); $this->assertEquals(['LIMIT|FT:y'], $edsParams->get('filters')); // A filter that no backend supports: $params = $this->getParams(); $params->addFilter('nonexistent:1'); $backendParams = $params->getBackendParameters(); $this->assertEquals( [ 'nonexistent:"1"', '-blender_backend:"Solr"', '-blender_backend:"Primo"', '-blender_backend:"EDS"', ], $backendParams->get('fq') ); // Add a filter that maps to two values: $params->addFilter('format:double'); $primoParams = $params->getBackendParameters()->get('params_Primo')[0]; $this->assertEquals( [ [ 'field' => 'formatPrimo', 'facetOp' => 'OR', 'values' => [ 'double1', 'double2', ], ], [ 'field' => 'pcAvailability', 'facetOp' => 'AND', 'values' => ['true'], ], ], $primoParams->get('filterList') ); // Add a NOT filter that maps to two values in Primo: $params->removeAllFilters('format'); $params->addFilter('-format:double'); $backendParams = $params->getBackendParameters(); $solrParams = $backendParams->get('params_Solr')[0]; $this->assertEquals(['-formatSolr:"double"'], $solrParams->get('fq')); $primoParams = $backendParams->get('params_Primo')[0]; $this->assertEquals( [ [ 'field' => 'formatPrimo', 'facetOp' => 'NOT', 'values' => [ 'double1', 'double2', ], ], [ 'field' => 'pcAvailability', 'facetOp' => 'AND', 'values' => ['true'], ], ], $primoParams->get('filterList') ); // Remove the NOT filter and check results: $params->removeFilter('-format:double'); $backendParams = $params->getBackendParameters(); $solrParams = $backendParams->get('params_Solr')[0]; $this->assertEquals(null, $solrParams->get('fq')); $primoParams = $backendParams->get('params_Primo')[0]; $this->assertEquals( [ [ 'field' => 'pcAvailability', 'facetOp' => 'AND', 'values' => ['true'], ], ], $primoParams->get('filterList') ); // Test removeAllFilters: $params->addFilter('nonexistent:1'); $params->addFilter('format:double'); $params->removeAllFilters(); $backendParams = $params->getBackendParameters(); $this->assertNull($backendParams->get('fq')); $solrParams = $backendParams->get('params_Solr')[0]; $primoParams = $backendParams->get('params_Primo')[0]; $edsParams = $backendParams->get('params_EDS')[0]; $this->assertNull($solrParams->get('fq')); $this->assertEquals( [ [ 'field' => 'pcAvailability', 'facetOp' => 'AND', 'values' => ['true'], ], ], $primoParams->get('filterList') ); $this->assertNull($edsParams->get('filters')); // Check that simply adding a checkbox facet does not cause backends to be // disabled: $params = $this->getParams(); $params->addFilter('fulltext:1'); $backendParams = $params->getBackendParameters(); $this->assertEquals( [ 'fulltext:"1"', ], $backendParams->get('fq') ); // Test a daterange filter: $params = $this->getParams(); $params->addFilter('publish_date:[2020 TO 2022]'); $backendParams = $params->getBackendParameters(); $this->assertEquals( ['publish_date:[2020 TO 2022]'], $backendParams->get('fq') ); $solrParams = $backendParams->get('params_Solr')[0]; $primoParams = $backendParams->get('params_Primo')[0]; $edsParams = $backendParams->get('params_EDS')[0]; $this->assertEquals(['publishDate:[2020 TO 2022]'], $solrParams->get('fq')); $this->assertEquals( [ [ 'field' => 'creationdate', 'facetOp' => 'AND', 'values' => ['[2020 TO 2022]'], ], [ 'field' => 'pcAvailability', 'facetOp' => 'AND', 'values' => ['true'], ], ], $primoParams->get('filterList') ); $this->assertEquals( ['PublishDate:[2020 TO 2022]'], $edsParams->get('filters') ); } /** * Test that hidden filters work as expected. * * @return void */ public function testHiddenFilters(): void { $params = $this->getParams(); $params->addHiddenFilter('format:bar'); $backendParams = $params->getBackendParameters(); // Make sure EDS is disabled since we don't have a mapping for it: $this->assertEquals( [ 'format:"bar"', '-blender_backend:"EDS"', ], $backendParams->get('fq') ); $solrParams = $backendParams->get('params_Solr')[0]; $primoParams = $backendParams->get('params_Primo')[0]; $this->assertInstanceOf(ParamBag::class, $solrParams); $this->assertInstanceOf(ParamBag::class, $primoParams); $this->assertEquals( ['formatSolr:"bar"'], $solrParams->get('fq') ); $this->assertEquals( [ [ 'field' => 'formatPrimo', 'facetOp' => 'AND', 'values' => ['barPrimo'], ], [ 'field' => 'pcAvailability', 'facetOp' => 'AND', 'values' => ['true'], ], ], $primoParams->get('filterList') ); } /** * Test that special blender_backend filters work as expected. * * @return void */ public function testBlenderFilters(): void { // Add as a normal filter: $params = $this->getParams(); $params->addFilter('blender_backend:Primo'); $backendParams = $params->getBackendParameters(); $this->assertEquals(['blender_backend:"Primo"'], $backendParams->get('fq')); $solrParams = $backendParams->get('params_Solr')[0]; $this->assertInstanceOf(ParamBag::class, $solrParams); $this->assertNull($solrParams->get('fq')); // Remove the filter and check: $params->removeFilter('blender_backend:Primo'); $backendParams = $params->getBackendParameters(); $this->assertNull($backendParams->get('fq')); // Add as a hidden filter: $params = $this->getParams(); $params->addHiddenFilter('~blender_backend:Primo'); $params->addHiddenFilter('~blender_backend:EDS'); $backendParams = $params->getBackendParameters(); $this->assertEquals( [ '{!tag=blender_backend_filter}blender_backend:(' . 'blender_backend:"Primo" OR blender_backend:"EDS")', ], $backendParams->get('fq') ); $solrParams = $backendParams->get('params_Solr')[0]; $this->assertInstanceOf(ParamBag::class, $solrParams); $this->assertNull($solrParams->get('fq')); } /** * Test that special blender_backend checkbox facets work as expected. * * @return void */ public function testBlenderFacets(): void { $params = $this->getParams(); $params->addCheckboxFacet('blender_backend:Primo', 'Primo'); $this->assertEquals( [ [ 'desc' => 'Primo', 'filter' => 'blender_backend:Primo', 'selected' => false, 'alwaysVisible' => false, 'dynamic' => false, ], ], $params->getCheckboxFacets() ); $backendParams = $params->getBackendParameters(); // Make sure no backend was disabled: $this->assertNull($backendParams->get('fq')); $primoParams = $backendParams->get('params_Primo')[0]; $this->assertInstanceOf(ParamBag::class, $primoParams); $this->assertEquals( [ [ 'field' => 'pcAvailability', 'facetOp' => 'AND', 'values' => ['true'], ], ], $primoParams->get('filterList') ); } /** * Test that ignoring filters works as expected. * * @return void */ public function testIgnoredFilters(): void { $params = $this->getParams(); $params->addHiddenFilter('format:bar'); $backendParams = $params->getBackendParameters(); // Make sure EDS is disabled since we don't have a mapping for it: $this->assertEquals( [ 'format:"bar"', '-blender_backend:"EDS"', ], $backendParams->get('fq') ); // Test ignoring all values: $mappings = $this->mappings; $mappings['Facets']['Fields']['format']['Mappings']['EDS'] = [ 'Ignore' => true, ]; $params = $this->getParams(null, $mappings); $params->addHiddenFilter('format:bar'); $backendParams = $params->getBackendParameters(); // Make sure EDS is NOT disabled: $this->assertEquals( [ 'format:"bar"', ], $backendParams->get('fq') ); $edsParams = $backendParams->get('params_EDS')[0]; $this->assertInstanceOf(ParamBag::class, $edsParams); $this->assertNull($edsParams->get('filters')); // Test ignoring one value: $mappings = $this->mappings; $mappings['Facets']['Fields']['format']['Mappings']['EDS'] = [ 'Ignore' => [ 'bar', ], ]; $params = $this->getParams(null, $mappings); $params->addHiddenFilter('format:bar'); $backendParams = $params->getBackendParameters(); // Make sure EDS is NOT disabled but doesn't have filters either: $this->assertEquals( [ 'format:"bar"', ], $backendParams->get('fq') ); $edsParams = $backendParams->get('params_EDS')[0]; $this->assertInstanceOf(ParamBag::class, $edsParams); $this->assertNull($edsParams->get('filters')); // Add another value and verify that EDS gets disabled: $params->addHiddenFilter('format:baz'); $backendParams = $params->getBackendParameters(); // Make sure EDS is NOT disabled: $this->assertEquals( [ 'format:"bar"', 'format:"baz"', '-blender_backend:"EDS"', ], $backendParams->get('fq') ); } /** * Test that getFacetLabel works as expected. * * Note: This just makes sure that things look the same as with Base\Params * without exercising Blender-specific functionality. * * @return void */ public function testGetFacetLabel(): void { $params = $this->getParams(); // If we haven't set up any facets yet, labels will be unrecognized: $this->assertEquals('unrecognized_facet_label', $params->getFacetLabel('foo')); // Now if we add a facet, we should get the label back: $params->addFacet('foo', 'foo_label'); $this->assertEquals('foo_label', $params->getFacetLabel('foo')); // Make sure that a checkbox facet with correct value gets the label for the // checkbox: $params->addCheckboxFacet('foo:bar', 'checkbox_label'); $this->assertEquals('checkbox_label', $params->getFacetLabel('foo', 'bar')); $this->assertEquals('foo_label', $params->getFacetLabel('foo', 'baz')); $this->assertEquals('foo_label', $params->getFacetLabel('foo')); // Check that reset works: $params->resetFacetConfig(); $this->assertEquals([], $params->getFacetConfig()); } /** * Test that facet mappings work as expected. * * @return void */ public function testFacetMappings(): void { $params = $this->getParams(); $params->addFacet('building', 'Building', true); $params->addFilter('building:0/Main/'); $backendParams = $params->getBackendParameters(); $this->assertEquals( [ 'building:"0/Main/"', '-blender_backend:"Primo"', ], $backendParams->get('fq') ); $solrParams = $backendParams->get('params_Solr')[0]; $edsParams = $backendParams->get('params_EDS')[0]; $this->assertEquals( [ 'spellcheck' => [ 'true', ], 'facet' => [ 'true', ], 'facet.limit' => [ 30, ], 'facet.field' => [ '{!ex=building_filter}building', ], 'facet.sort' => [ 'count', ], 'facet.mincount' => [ 1, ], 'fq' => [ 'building:"0/Main/"', ], 'hl' => [ 'false', ], ], $solrParams->getArrayCopy() ); $this->assertEquals( [ 'sort' => [ null, ], 'view' => [ 'brief', ], 'filters' => [ 'building:main', ], ], $edsParams->getArrayCopy() ); // Test sub-level facet mapping: $params = $this->getParams(); $params->addFacet('building', 'Building', true); $params->addFilter('building:0/Sub/'); $backendParams = $params->getBackendParameters(); $this->assertEquals( [ 'building:"0/Sub/"', '-blender_backend:"Primo"', ], $backendParams->get('fq') ); $edsParams = $backendParams->get('params_EDS')[0]; $this->assertEquals(['building:sub'], $edsParams->get('filters')); } /** * Test that search type mappings work as expected. * * @return void */ public function testSearchTypeMappings(): void { $params = $this->getParams(); $params->setBasicSearch('foo', 'AllFields'); $backendParams = $params->getBackendParameters(); $solrQuery = $backendParams->get('query_Solr')[0]; $primoQuery = $backendParams->get('query_Primo')[0]; $edsQuery = $backendParams->get('query_EDS')[0]; $this->assertInstanceOf(Query::class, $solrQuery); $this->assertInstanceOf(Query::class, $primoQuery); $this->assertInstanceOf(Query::class, $edsQuery); $this->assertEquals('foo', $solrQuery->getString()); $this->assertEquals('AllFields', $solrQuery->getHandler()); $this->assertEquals('foo', $primoQuery->getString()); $this->assertEquals('AllFields', $primoQuery->getHandler()); $this->assertEquals('foo', $edsQuery->getString()); $this->assertEquals('AllFields', $edsQuery->getHandler()); $params->setBasicSearch('foo', 'Title'); $backendParams = $params->getBackendParameters(); $solrQuery = $backendParams->get('query_Solr')[0]; $primoQuery = $backendParams->get('query_Primo')[0]; $edsQuery = $backendParams->get('query_EDS')[0]; $this->assertEquals('foo', $solrQuery->getString()); $this->assertEquals('Title', $solrQuery->getHandler()); $this->assertEquals('foo', $primoQuery->getString()); $this->assertEquals('Title', $primoQuery->getHandler()); $this->assertEquals('foo', $edsQuery->getString()); $this->assertEquals('TI', $edsQuery->getHandler()); } /** * Test that sort mappings work as expected. * * @return void */ public function testSortMappings(): void { $params = $this->getParams(); $params->setSort('year'); $backendParams = $params->getBackendParameters(); $solrParams = $backendParams->get('params_Solr')[0]; $primoParams = $backendParams->get('params_Primo')[0]; $edsParams = $backendParams->get('params_EDS')[0]; $this->assertInstanceOf(ParamBag::class, $solrParams); $this->assertInstanceOf(ParamBag::class, $primoParams); $this->assertInstanceOf(ParamBag::class, $edsParams); $this->assertEquals(['publishDateSort desc'], $solrParams->get('sort')); $this->assertEquals(['scdate'], $primoParams->get('sort')); $this->assertEquals(['date'], $edsParams->get('sort')); } /** * Test that initFromRequest works as expected. * * @return void */ public function testInitFromRequest(): void { $query = [ 'lookfor' => 'foo', 'type' => 'Title', 'sort' => 'year', 'page' => '2', 'hiddenFilters' => ['foo:"baz"'], ]; $params = $this->getParams(); $params->initFromRequest(new Parameters($query)); $backendParams = $params->getBackendParameters(); $solrParams = $backendParams->get('params_Solr')[0]; $primoParams = $backendParams->get('params_Primo')[0]; $edsParams = $backendParams->get('params_EDS')[0]; $this->assertInstanceOf(ParamBag::class, $solrParams); $this->assertInstanceOf(ParamBag::class, $primoParams); $this->assertInstanceOf(ParamBag::class, $edsParams); $this->assertNull($solrParams->get('fq')); $solrQuery = $backendParams->get('query_Solr')[0]; $primoQuery = $backendParams->get('query_Primo')[0]; $edsQuery = $backendParams->get('query_EDS')[0]; $this->assertInstanceOf(Query::class, $solrQuery); $this->assertInstanceOf(Query::class, $primoQuery); $this->assertInstanceOf(Query::class, $edsQuery); $this->assertEquals('foo', $solrQuery->getString()); $this->assertEquals('Title', $solrQuery->getHandler()); $this->assertEquals('foo', $primoQuery->getString()); $this->assertEquals('Title', $primoQuery->getHandler()); $this->assertEquals('foo', $edsQuery->getString()); $this->assertEquals('TI', $edsQuery->getHandler()); // Test empty request: $params = $this->getParams(); $params->initFromRequest(new Parameters([])); $backendParams = $params->getBackendParameters(); $solrParams = $backendParams->get('params_Solr')[0]; $primoParams = $backendParams->get('params_Primo')[0]; $edsParams = $backendParams->get('params_EDS')[0]; $this->assertInstanceOf(ParamBag::class, $solrParams); $this->assertInstanceOf(ParamBag::class, $primoParams); $this->assertInstanceOf(ParamBag::class, $edsParams); $solrQuery = $backendParams->get('query_Solr')[0]; $primoQuery = $backendParams->get('query_Primo')[0]; $edsQuery = $backendParams->get('query_EDS')[0]; $this->assertInstanceOf(Query::class, $solrQuery); $this->assertInstanceOf(Query::class, $primoQuery); $this->assertInstanceOf(Query::class, $edsQuery); } /** * Test that an invalid backend in configuration is handled properly. * * @return void */ public function testInvalidBackend(): void { $configMgr = $this->createMock(\VuFind\Config\PluginManager::class); $baseParams = new \VuFind\Search\EmptySet\Params( new \VuFind\Search\EmptySet\Options($configMgr), $configMgr ); $params = new Params( new Options($configMgr), $configMgr, new HierarchicalFacetHelper(), [ 'Base' => $baseParams, ], new Config($this->config), $this->mappings ); $this->expectExceptionMessage( 'Backend EmptySet missing support for getBackendParameters' ); $params->getBackendParameters(); } /** * Get mock config manager * * @return object */ protected function getConfigManager() { $configs = [ 'EDS' => new Config($this->edsConfig), 'Primo' => new Config($this->primoConfig), 'Blender' => new Config($this->blenderConfig), ]; $callback = function (string $configName) use ($configs) { return $configs[$configName] ?? null; }; $configManager = $this->getMockBuilder(\VuFind\Config\PluginManager::class) ->disableOriginalConstructor() ->getMock(); $configManager ->expects($this->any()) ->method('get') ->will($this->returnCallback($callback)); return $configManager; } /** * Get params classes for an array of backends * * @return array */ protected function getParamsClassesArray(): array { $solrConfigMgr = $this->createMock(\VuFind\Config\PluginManager::class); $configMgr = $this->getConfigManager(); $result = []; $result[] = new \VuFind\Search\Solr\Params( new \VuFind\Search\Solr\Options($solrConfigMgr), $solrConfigMgr ); $result[] = new \VuFind\Search\Primo\Params( new \VuFind\Search\Primo\Options($configMgr), $configMgr ); $result[] = new \VuFind\Search\EDS\Params( new \VuFind\Search\EDS\Options($configMgr, $this->edsApiConfig), $configMgr ); return $result; } /** * Get Params class * * @param array $config Blender configuration, overrides defaults * @param array $mappings Blender mappings, overrides defaults * * @return Params */ protected function getParams($config = null, $mappings = null): Params { $configMgr = $this->createMock(\VuFind\Config\PluginManager::class); return new Params( new Options($configMgr), $configMgr, new HierarchicalFacetHelper(), $this->getParamsClassesArray(), new Config($config ?? $this->config), $mappings ?? $this->mappings ); } } ";s:19:"*namespaceAliases";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{s:26:"\VuFindTest\Search\Blender";O:30:"phpDocumentor\Reflection\Fqsen":2:{s:37:"phpDocumentor\Reflection\Fqsenfqsen";s:26:"\VuFindTest\Search\Blender";s:36:"phpDocumentor\Reflection\Fqsenname";s:7:"Blender";}}}s:11:"*includes";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:12:"*constants";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:12:"*functions";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:10:"*classes";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{s:37:"\VuFindTest\Search\Blender\ParamsTest";O:40:"phpDocumentor\Descriptor\ClassDescriptor":19:{s:8:"*fqsen";O:30:"phpDocumentor\Reflection\Fqsen":2:{s:37:"phpDocumentor\Reflection\Fqsenfqsen";s:37:"\VuFindTest\Search\Blender\ParamsTest";s:36:"phpDocumentor\Reflection\Fqsenname";s:10:"ParamsTest";}s:7:"*name";s:10:"ParamsTest";s:12:"*namespace";s:26:"\VuFindTest\Search\Blender";s:10:"*package";s:5:"Tests";s:10:"*summary";s:19:"Blender Params Test";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:0:"";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:17:"*fileDescriptor";r:1;s:7:"*line";i:49;s:7:"*tags";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:5:{s:8:"category";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{i:0;O:38:"phpDocumentor\Descriptor\TagDescriptor":3:{s:7:"*name";s:8:"category";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:6:"VuFind";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}}}}s:7:"package";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{i:0;O:38:"phpDocumentor\Descriptor\TagDescriptor":3:{s:7:"*name";s:7:"package";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:5:"Tests";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}}}}s:6:"author";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{i:0;O:45:"phpDocumentor\Descriptor\Tag\AuthorDescriptor":3:{s:7:"*name";s:6:"author";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:37:"Ere Maijala ";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}}}}s:7:"license";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{i:0;O:38:"phpDocumentor\Descriptor\TagDescriptor":3:{s:7:"*name";s:7:"license";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:69:"http://opensource.org/licenses/gpl-2.0.php GNU General Public License";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}}}}s:4:"link";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{i:0;O:43:"phpDocumentor\Descriptor\Tag\LinkDescriptor":4:{s:7:"*name";s:4:"link";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:4:"Wiki";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:7:"*link";s:54:"https://vufind.org/wiki/development:testing:unit_tests";}}}}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:19:"*inheritedElement";N;s:9:"*parent";O:30:"phpDocumentor\Reflection\Fqsen":2:{s:37:"phpDocumentor\Reflection\Fqsenfqsen";s:27:"\PHPUnit\Framework\TestCase";s:36:"phpDocumentor\Reflection\Fqsenname";s:8:"TestCase";}s:13:"*implements";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:11:"*abstract";b:0;s:8:"*final";b:0;s:12:"*constants";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:13:"*properties";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:7:{s:6:"config";O:43:"phpDocumentor\Descriptor\PropertyDescriptor":18:{s:8:"*fqsen";O:30:"phpDocumentor\Reflection\Fqsen":2:{s:37:"phpDocumentor\Reflection\Fqsenfqsen";s:46:"\VuFindTest\Search\Blender\ParamsTest::$config";s:36:"phpDocumentor\Reflection\Fqsenname";s:6:"config";}s:7:"*name";s:6:"config";s:12:"*namespace";s:37:"\VuFindTest\Search\Blender\ParamsTest";s:10:"*package";N;s:10:"*summary";s:14:"Blender config";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:0:"";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:17:"*fileDescriptor";N;s:7:"*line";i:56;s:7:"*tags";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{s:3:"var";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{i:0;O:42:"phpDocumentor\Descriptor\Tag\VarDescriptor":5:{s:7:"*name";s:3:"var";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:0:"";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:8:"*types";O:37:"phpDocumentor\Reflection\Types\Array_":3:{s:12:"*valueType";O:37:"phpDocumentor\Reflection\Types\Mixed_":0:{}s:10:"*keyType";N;s:17:"*defaultKeyType";O:39:"phpDocumentor\Reflection\Types\Compound":2:{s:52:"phpDocumentor\Reflection\Types\AggregatedTypetypes";a:2:{i:0;O:38:"phpDocumentor\Reflection\Types\String_":0:{}i:1;O:38:"phpDocumentor\Reflection\Types\Integer":0:{}}s:52:"phpDocumentor\Reflection\Types\AggregatedTypetoken";s:1:"|";}}s:15:"*variableName";s:0:"";}}}}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:19:"*inheritedElement";N;s:9:"*parent";r:91;s:7:"*type";N;s:10:"*default";s:157:"['Backends' => ['Solr' => 'Local', 'Primo' => 'CDI', 'EDS' => 'EBSCO'], 'Blending' => ['initialResults' => ['Solr', 'Solr', 'Primo', 'EDS', 'Primo', 'EDS']]]";s:9:"*static";b:0;s:13:"*visibility";s:9:"protected";s:53:"phpDocumentor\Descriptor\PropertyDescriptorreadOnly";b:0;s:54:"phpDocumentor\Descriptor\PropertyDescriptorwriteOnly";b:0;}s:8:"mappings";O:43:"phpDocumentor\Descriptor\PropertyDescriptor":18:{s:8:"*fqsen";O:30:"phpDocumentor\Reflection\Fqsen":2:{s:37:"phpDocumentor\Reflection\Fqsenfqsen";s:48:"\VuFindTest\Search\Blender\ParamsTest::$mappings";s:36:"phpDocumentor\Reflection\Fqsenname";s:8:"mappings";}s:7:"*name";s:8:"mappings";s:12:"*namespace";s:37:"\VuFindTest\Search\Blender\ParamsTest";s:10:"*package";N;s:10:"*summary";s:8:"Mappings";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:0:"";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:17:"*fileDescriptor";N;s:7:"*line";i:79;s:7:"*tags";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{s:3:"var";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{i:0;O:42:"phpDocumentor\Descriptor\Tag\VarDescriptor":5:{s:7:"*name";s:3:"var";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:0:"";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:8:"*types";O:37:"phpDocumentor\Reflection\Types\Array_":3:{s:12:"*valueType";O:37:"phpDocumentor\Reflection\Types\Mixed_":0:{}s:10:"*keyType";N;s:17:"*defaultKeyType";O:39:"phpDocumentor\Reflection\Types\Compound":2:{s:52:"phpDocumentor\Reflection\Types\AggregatedTypetypes";a:2:{i:0;O:38:"phpDocumentor\Reflection\Types\String_":0:{}i:1;O:38:"phpDocumentor\Reflection\Types\Integer":0:{}}s:52:"phpDocumentor\Reflection\Types\AggregatedTypetoken";s:1:"|";}}s:15:"*variableName";s:0:"";}}}}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:19:"*inheritedElement";N;s:9:"*parent";r:91;s:7:"*type";N;s:10:"*default";s:1256:"['Facets' => ['Fields' => ['building' => ['Mappings' => ['Solr' => ['Field' => 'building'], 'EDS' => ['Field' => 'building', 'Hierarchical' => true, 'Values' => ['main' => '0/Main/', 'sub' => '1/Sub/Fiction/']]]], 'format' => ['Mappings' => ['Solr' => ['Field' => 'formatSolr'], 'Primo' => ['Field' => 'formatPrimo', 'Values' => ['barPrimo' => 'bar', 'bazPrimo' => 'baz', 'double1' => 'double', 'double2' => 'double']]]], 'fulltext' => ['Type' => 'boolean', 'Mappings' => ['Solr' => ['Field' => 'fulltext_boolean'], 'Primo' => ['Field' => 'pcAvailability', 'Values' => ['false' => '1'], 'DefaultValue' => 'true'], 'EDS' => ['Field' => 'LIMIT|FT', 'Values' => ['y' => '1']]]], 'publish_date' => ['Mappings' => ['Solr' => ['Field' => 'publishDate'], 'Primo' => ['Field' => 'creationdate'], 'EDS' => ['Field' => 'PublishDate']]]]], 'Search' => ['Fields' => ['AllFields' => ['Mappings' => ['Solr' => 'AllFields', 'Primo' => 'AllFields', 'EDS' => 'AllFields']], 'Title' => ['Mappings' => ['Solr' => 'Title', 'Primo' => 'Title', 'EDS' => 'TI']]]], 'Sorting' => ['Fields' => ['relevance' => ['Mappings' => ['Solr' => 'relevance', 'Primo' => 'relevance', 'EDS' => 'relevance']], 'year' => ['Mappings' => ['Solr' => 'year', 'Primo' => 'scdate', 'EDS' => 'date']]]]]";s:9:"*static";b:0;s:13:"*visibility";s:9:"protected";s:53:"phpDocumentor\Descriptor\PropertyDescriptorreadOnly";b:0;s:54:"phpDocumentor\Descriptor\PropertyDescriptorwriteOnly";b:0;}s:12:"edsApiConfig";O:43:"phpDocumentor\Descriptor\PropertyDescriptor":18:{s:8:"*fqsen";O:30:"phpDocumentor\Reflection\Fqsen":2:{s:37:"phpDocumentor\Reflection\Fqsenfqsen";s:52:"\VuFindTest\Search\Blender\ParamsTest::$edsApiConfig";s:36:"phpDocumentor\Reflection\Fqsenname";s:12:"edsApiConfig";}s:7:"*name";s:12:"edsApiConfig";s:12:"*namespace";s:37:"\VuFindTest\Search\Blender\ParamsTest";s:10:"*package";N;s:10:"*summary";s:21:"EDS API configuration";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:0:"";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:17:"*fileDescriptor";N;s:7:"*line";i:193;s:7:"*tags";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{s:3:"var";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{i:0;O:42:"phpDocumentor\Descriptor\Tag\VarDescriptor":5:{s:7:"*name";s:3:"var";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:0:"";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:8:"*types";O:37:"phpDocumentor\Reflection\Types\Array_":3:{s:12:"*valueType";O:37:"phpDocumentor\Reflection\Types\Mixed_":0:{}s:10:"*keyType";N;s:17:"*defaultKeyType";O:39:"phpDocumentor\Reflection\Types\Compound":2:{s:52:"phpDocumentor\Reflection\Types\AggregatedTypetypes";a:2:{i:0;O:38:"phpDocumentor\Reflection\Types\String_":0:{}i:1;O:38:"phpDocumentor\Reflection\Types\Integer":0:{}}s:52:"phpDocumentor\Reflection\Types\AggregatedTypetoken";s:1:"|";}}s:15:"*variableName";s:0:"";}}}}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:19:"*inheritedElement";N;s:9:"*parent";r:91;s:7:"*type";N;s:10:"*default";s:97:"['AvailableSearchCriteria' => ['AvailableSorts' => [['Id' => 'date', 'Label' => 'Date Newest']]]]";s:9:"*static";b:0;s:13:"*visibility";s:9:"protected";s:53:"phpDocumentor\Descriptor\PropertyDescriptorreadOnly";b:0;s:54:"phpDocumentor\Descriptor\PropertyDescriptorwriteOnly";b:0;}s:9:"edsConfig";O:43:"phpDocumentor\Descriptor\PropertyDescriptor":18:{s:8:"*fqsen";O:30:"phpDocumentor\Reflection\Fqsen":2:{s:37:"phpDocumentor\Reflection\Fqsenfqsen";s:49:"\VuFindTest\Search\Blender\ParamsTest::$edsConfig";s:36:"phpDocumentor\Reflection\Fqsenname";s:9:"edsConfig";}s:7:"*name";s:9:"edsConfig";s:12:"*namespace";s:37:"\VuFindTest\Search\Blender\ParamsTest";s:10:"*package";N;s:10:"*summary";s:17:"EDS configuration";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:0:"";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:17:"*fileDescriptor";N;s:7:"*line";i:209;s:7:"*tags";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{s:3:"var";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{i:0;O:42:"phpDocumentor\Descriptor\Tag\VarDescriptor":5:{s:7:"*name";s:3:"var";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:0:"";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:8:"*types";O:37:"phpDocumentor\Reflection\Types\Array_":3:{s:12:"*valueType";O:37:"phpDocumentor\Reflection\Types\Mixed_":0:{}s:10:"*keyType";N;s:17:"*defaultKeyType";O:39:"phpDocumentor\Reflection\Types\Compound":2:{s:52:"phpDocumentor\Reflection\Types\AggregatedTypetypes";a:2:{i:0;O:38:"phpDocumentor\Reflection\Types\String_":0:{}i:1;O:38:"phpDocumentor\Reflection\Types\Integer":0:{}}s:52:"phpDocumentor\Reflection\Types\AggregatedTypetoken";s:1:"|";}}s:15:"*variableName";s:0:"";}}}}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:19:"*inheritedElement";N;s:9:"*parent";r:91;s:7:"*type";N;s:10:"*default";s:61:"['Sorting' => ['relevance' => 'relevance', 'date' => 'year']]";s:9:"*static";b:0;s:13:"*visibility";s:9:"protected";s:53:"phpDocumentor\Descriptor\PropertyDescriptorreadOnly";b:0;s:54:"phpDocumentor\Descriptor\PropertyDescriptorwriteOnly";b:0;}s:11:"primoConfig";O:43:"phpDocumentor\Descriptor\PropertyDescriptor":18:{s:8:"*fqsen";O:30:"phpDocumentor\Reflection\Fqsen":2:{s:37:"phpDocumentor\Reflection\Fqsenfqsen";s:51:"\VuFindTest\Search\Blender\ParamsTest::$primoConfig";s:36:"phpDocumentor\Reflection\Fqsenname";s:11:"primoConfig";}s:7:"*name";s:11:"primoConfig";s:12:"*namespace";s:37:"\VuFindTest\Search\Blender\ParamsTest";s:10:"*package";N;s:10:"*summary";s:19:"Primo configuration";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:0:"";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:17:"*fileDescriptor";N;s:7:"*line";i:221;s:7:"*tags";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{s:3:"var";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{i:0;O:42:"phpDocumentor\Descriptor\Tag\VarDescriptor":5:{s:7:"*name";s:3:"var";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:0:"";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:8:"*types";O:37:"phpDocumentor\Reflection\Types\Array_":3:{s:12:"*valueType";O:37:"phpDocumentor\Reflection\Types\Mixed_":0:{}s:10:"*keyType";N;s:17:"*defaultKeyType";O:39:"phpDocumentor\Reflection\Types\Compound":2:{s:52:"phpDocumentor\Reflection\Types\AggregatedTypetypes";a:2:{i:0;O:38:"phpDocumentor\Reflection\Types\String_":0:{}i:1;O:38:"phpDocumentor\Reflection\Types\Integer":0:{}}s:52:"phpDocumentor\Reflection\Types\AggregatedTypetoken";s:1:"|";}}s:15:"*variableName";s:0:"";}}}}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:19:"*inheritedElement";N;s:9:"*parent";r:91;s:7:"*type";N;s:10:"*default";s:63:"['Sorting' => ['relevance' => 'relevance', 'scdate' => 'year']]";s:9:"*static";b:0;s:13:"*visibility";s:9:"protected";s:53:"phpDocumentor\Descriptor\PropertyDescriptorreadOnly";b:0;s:54:"phpDocumentor\Descriptor\PropertyDescriptorwriteOnly";b:0;}s:13:"blenderConfig";O:43:"phpDocumentor\Descriptor\PropertyDescriptor":18:{s:8:"*fqsen";O:30:"phpDocumentor\Reflection\Fqsen":2:{s:37:"phpDocumentor\Reflection\Fqsenfqsen";s:53:"\VuFindTest\Search\Blender\ParamsTest::$blenderConfig";s:36:"phpDocumentor\Reflection\Fqsenname";s:13:"blenderConfig";}s:7:"*name";s:13:"blenderConfig";s:12:"*namespace";s:37:"\VuFindTest\Search\Blender\ParamsTest";s:10:"*package";N;s:10:"*summary";s:21:"Blender configuration";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:0:"";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:17:"*fileDescriptor";N;s:7:"*line";i:233;s:7:"*tags";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{s:3:"var";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{i:0;O:42:"phpDocumentor\Descriptor\Tag\VarDescriptor":5:{s:7:"*name";s:3:"var";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:0:"";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:8:"*types";O:37:"phpDocumentor\Reflection\Types\Array_":3:{s:12:"*valueType";O:37:"phpDocumentor\Reflection\Types\Mixed_":0:{}s:10:"*keyType";N;s:17:"*defaultKeyType";O:39:"phpDocumentor\Reflection\Types\Compound":2:{s:52:"phpDocumentor\Reflection\Types\AggregatedTypetypes";a:2:{i:0;O:38:"phpDocumentor\Reflection\Types\String_":0:{}i:1;O:38:"phpDocumentor\Reflection\Types\Integer":0:{}}s:52:"phpDocumentor\Reflection\Types\AggregatedTypetoken";s:1:"|";}}s:15:"*variableName";s:0:"";}}}}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:19:"*inheritedElement";N;s:9:"*parent";r:91;s:7:"*type";N;s:10:"*default";s:54:"['SpecialFacets' => ['dateRange' => ['publish_date']]]";s:9:"*static";b:0;s:13:"*visibility";s:9:"protected";s:53:"phpDocumentor\Descriptor\PropertyDescriptorreadOnly";b:0;s:54:"phpDocumentor\Descriptor\PropertyDescriptorwriteOnly";b:0;}s:13:"configManager";O:43:"phpDocumentor\Descriptor\PropertyDescriptor":18:{s:8:"*fqsen";O:30:"phpDocumentor\Reflection\Fqsen":2:{s:37:"phpDocumentor\Reflection\Fqsenfqsen";s:53:"\VuFindTest\Search\Blender\ParamsTest::$configManager";s:36:"phpDocumentor\Reflection\Fqsenname";s:13:"configManager";}s:7:"*name";s:13:"configManager";s:12:"*namespace";s:37:"\VuFindTest\Search\Blender\ParamsTest";s:10:"*package";N;s:10:"*summary";s:19:"Mock config manager";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:0:"";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:17:"*fileDescriptor";N;s:7:"*line";i:246;s:7:"*tags";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{s:3:"var";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{i:0;O:42:"phpDocumentor\Descriptor\Tag\VarDescriptor":5:{s:7:"*name";s:3:"var";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:0:"";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:8:"*types";O:38:"phpDocumentor\Reflection\Types\Object_":1:{s:45:"phpDocumentor\Reflection\Types\Object_fqsen";N;}s:15:"*variableName";s:0:"";}}}}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:19:"*inheritedElement";N;s:9:"*parent";r:91;s:7:"*type";N;s:10:"*default";s:4:"null";s:9:"*static";b:0;s:13:"*visibility";s:9:"protected";s:53:"phpDocumentor\Descriptor\PropertyDescriptorreadOnly";b:0;s:54:"phpDocumentor\Descriptor\PropertyDescriptorwriteOnly";b:0;}}}s:10:"*methods";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:15:{s:20:"testGetSearchClassId";O:41:"phpDocumentor\Descriptor\MethodDescriptor":19:{s:8:"*fqsen";O:30:"phpDocumentor\Reflection\Fqsen":2:{s:37:"phpDocumentor\Reflection\Fqsenfqsen";s:61:"\VuFindTest\Search\Blender\ParamsTest::testGetSearchClassId()";s:36:"phpDocumentor\Reflection\Fqsenname";s:20:"testGetSearchClassId";}s:7:"*name";s:20:"testGetSearchClassId";s:12:"*namespace";s:26:"\VuFindTest\Search\Blender";s:10:"*package";N;s:10:"*summary";s:45:"Test that we get the correct search class ID.";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:0:"";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:17:"*fileDescriptor";N;s:7:"*line";i:253;s:7:"*tags";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{s:6:"return";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{i:0;O:45:"phpDocumentor\Descriptor\Tag\ReturnDescriptor":4:{s:7:"*name";s:6:"return";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:0:"";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:8:"*types";O:36:"phpDocumentor\Reflection\Types\Void_":0:{}}}}}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:19:"*inheritedElement";N;s:9:"*parent";r:91;s:11:"*abstract";b:0;s:8:"*final";b:0;s:9:"*static";b:0;s:13:"*visibility";s:6:"public";s:12:"*arguments";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:53:"phpDocumentor\Descriptor\MethodDescriptorreturnType";O:36:"phpDocumentor\Reflection\Types\Void_":0:{}s:63:"phpDocumentor\Descriptor\MethodDescriptorhasReturnByReference";b:0;}s:20:"testFacetsAndFilters";O:41:"phpDocumentor\Descriptor\MethodDescriptor":19:{s:8:"*fqsen";O:30:"phpDocumentor\Reflection\Fqsen":2:{s:37:"phpDocumentor\Reflection\Fqsenfqsen";s:61:"\VuFindTest\Search\Blender\ParamsTest::testFacetsAndFilters()";s:36:"phpDocumentor\Reflection\Fqsenname";s:20:"testFacetsAndFilters";}s:7:"*name";s:20:"testFacetsAndFilters";s:12:"*namespace";s:26:"\VuFindTest\Search\Blender";s:10:"*package";N;s:10:"*summary";s:46:"Test that facets and filters work as expected.";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:0:"";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:17:"*fileDescriptor";N;s:7:"*line";i:263;s:7:"*tags";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{s:6:"return";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{i:0;O:45:"phpDocumentor\Descriptor\Tag\ReturnDescriptor":4:{s:7:"*name";s:6:"return";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:0:"";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:8:"*types";O:36:"phpDocumentor\Reflection\Types\Void_":0:{}}}}}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:19:"*inheritedElement";N;s:9:"*parent";r:91;s:11:"*abstract";b:0;s:8:"*final";b:0;s:9:"*static";b:0;s:13:"*visibility";s:6:"public";s:12:"*arguments";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:53:"phpDocumentor\Descriptor\MethodDescriptorreturnType";O:36:"phpDocumentor\Reflection\Types\Void_":0:{}s:63:"phpDocumentor\Descriptor\MethodDescriptorhasReturnByReference";b:0;}s:17:"testHiddenFilters";O:41:"phpDocumentor\Descriptor\MethodDescriptor":19:{s:8:"*fqsen";O:30:"phpDocumentor\Reflection\Fqsen":2:{s:37:"phpDocumentor\Reflection\Fqsenfqsen";s:58:"\VuFindTest\Search\Blender\ParamsTest::testHiddenFilters()";s:36:"phpDocumentor\Reflection\Fqsenname";s:17:"testHiddenFilters";}s:7:"*name";s:17:"testHiddenFilters";s:12:"*namespace";s:26:"\VuFindTest\Search\Blender";s:10:"*package";N;s:10:"*summary";s:42:"Test that hidden filters work as expected.";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:0:"";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:17:"*fileDescriptor";N;s:7:"*line";i:596;s:7:"*tags";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{s:6:"return";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{i:0;O:45:"phpDocumentor\Descriptor\Tag\ReturnDescriptor":4:{s:7:"*name";s:6:"return";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:0:"";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:8:"*types";O:36:"phpDocumentor\Reflection\Types\Void_":0:{}}}}}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:19:"*inheritedElement";N;s:9:"*parent";r:91;s:11:"*abstract";b:0;s:8:"*final";b:0;s:9:"*static";b:0;s:13:"*visibility";s:6:"public";s:12:"*arguments";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:53:"phpDocumentor\Descriptor\MethodDescriptorreturnType";O:36:"phpDocumentor\Reflection\Types\Void_":0:{}s:63:"phpDocumentor\Descriptor\MethodDescriptorhasReturnByReference";b:0;}s:18:"testBlenderFilters";O:41:"phpDocumentor\Descriptor\MethodDescriptor":19:{s:8:"*fqsen";O:30:"phpDocumentor\Reflection\Fqsen":2:{s:37:"phpDocumentor\Reflection\Fqsenfqsen";s:59:"\VuFindTest\Search\Blender\ParamsTest::testBlenderFilters()";s:36:"phpDocumentor\Reflection\Fqsenname";s:18:"testBlenderFilters";}s:7:"*name";s:18:"testBlenderFilters";s:12:"*namespace";s:26:"\VuFindTest\Search\Blender";s:10:"*package";N;s:10:"*summary";s:59:"Test that special blender_backend filters work as expected.";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:0:"";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:17:"*fileDescriptor";N;s:7:"*line";i:642;s:7:"*tags";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{s:6:"return";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{i:0;O:45:"phpDocumentor\Descriptor\Tag\ReturnDescriptor":4:{s:7:"*name";s:6:"return";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:0:"";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:8:"*types";O:36:"phpDocumentor\Reflection\Types\Void_":0:{}}}}}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:19:"*inheritedElement";N;s:9:"*parent";r:91;s:11:"*abstract";b:0;s:8:"*final";b:0;s:9:"*static";b:0;s:13:"*visibility";s:6:"public";s:12:"*arguments";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:53:"phpDocumentor\Descriptor\MethodDescriptorreturnType";O:36:"phpDocumentor\Reflection\Types\Void_":0:{}s:63:"phpDocumentor\Descriptor\MethodDescriptorhasReturnByReference";b:0;}s:17:"testBlenderFacets";O:41:"phpDocumentor\Descriptor\MethodDescriptor":19:{s:8:"*fqsen";O:30:"phpDocumentor\Reflection\Fqsen":2:{s:37:"phpDocumentor\Reflection\Fqsenfqsen";s:58:"\VuFindTest\Search\Blender\ParamsTest::testBlenderFacets()";s:36:"phpDocumentor\Reflection\Fqsenname";s:17:"testBlenderFacets";}s:7:"*name";s:17:"testBlenderFacets";s:12:"*namespace";s:26:"\VuFindTest\Search\Blender";s:10:"*package";N;s:10:"*summary";s:67:"Test that special blender_backend checkbox facets work as expected.";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:0:"";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:17:"*fileDescriptor";N;s:7:"*line";i:682;s:7:"*tags";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{s:6:"return";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{i:0;O:45:"phpDocumentor\Descriptor\Tag\ReturnDescriptor":4:{s:7:"*name";s:6:"return";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:0:"";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:8:"*types";O:36:"phpDocumentor\Reflection\Types\Void_":0:{}}}}}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:19:"*inheritedElement";N;s:9:"*parent";r:91;s:11:"*abstract";b:0;s:8:"*final";b:0;s:9:"*static";b:0;s:13:"*visibility";s:6:"public";s:12:"*arguments";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:53:"phpDocumentor\Descriptor\MethodDescriptorreturnType";O:36:"phpDocumentor\Reflection\Types\Void_":0:{}s:63:"phpDocumentor\Descriptor\MethodDescriptorhasReturnByReference";b:0;}s:18:"testIgnoredFilters";O:41:"phpDocumentor\Descriptor\MethodDescriptor":19:{s:8:"*fqsen";O:30:"phpDocumentor\Reflection\Fqsen":2:{s:37:"phpDocumentor\Reflection\Fqsenfqsen";s:59:"\VuFindTest\Search\Blender\ParamsTest::testIgnoredFilters()";s:36:"phpDocumentor\Reflection\Fqsenname";s:18:"testIgnoredFilters";}s:7:"*name";s:18:"testIgnoredFilters";s:12:"*namespace";s:26:"\VuFindTest\Search\Blender";s:10:"*package";N;s:10:"*summary";s:45:"Test that ignoring filters works as expected.";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:0:"";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:17:"*fileDescriptor";N;s:7:"*line";i:721;s:7:"*tags";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{s:6:"return";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{i:0;O:45:"phpDocumentor\Descriptor\Tag\ReturnDescriptor":4:{s:7:"*name";s:6:"return";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:0:"";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:8:"*types";O:36:"phpDocumentor\Reflection\Types\Void_":0:{}}}}}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:19:"*inheritedElement";N;s:9:"*parent";r:91;s:11:"*abstract";b:0;s:8:"*final";b:0;s:9:"*static";b:0;s:13:"*visibility";s:6:"public";s:12:"*arguments";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:53:"phpDocumentor\Descriptor\MethodDescriptorreturnType";O:36:"phpDocumentor\Reflection\Types\Void_":0:{}s:63:"phpDocumentor\Descriptor\MethodDescriptorhasReturnByReference";b:0;}s:17:"testGetFacetLabel";O:41:"phpDocumentor\Descriptor\MethodDescriptor":19:{s:8:"*fqsen";O:30:"phpDocumentor\Reflection\Fqsen":2:{s:37:"phpDocumentor\Reflection\Fqsenfqsen";s:58:"\VuFindTest\Search\Blender\ParamsTest::testGetFacetLabel()";s:36:"phpDocumentor\Reflection\Fqsenname";s:17:"testGetFacetLabel";}s:7:"*name";s:17:"testGetFacetLabel";s:12:"*namespace";s:26:"\VuFindTest\Search\Blender";s:10:"*package";N;s:10:"*summary";s:42:"Test that getFacetLabel works as expected.";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:123:"Note: This just makes sure that things look the same as with Base\Params without exercising Blender-specific functionality.";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:17:"*fileDescriptor";N;s:7:"*line";i:797;s:7:"*tags";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{s:6:"return";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{i:0;O:45:"phpDocumentor\Descriptor\Tag\ReturnDescriptor":4:{s:7:"*name";s:6:"return";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:0:"";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:8:"*types";O:36:"phpDocumentor\Reflection\Types\Void_":0:{}}}}}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:19:"*inheritedElement";N;s:9:"*parent";r:91;s:11:"*abstract";b:0;s:8:"*final";b:0;s:9:"*static";b:0;s:13:"*visibility";s:6:"public";s:12:"*arguments";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:53:"phpDocumentor\Descriptor\MethodDescriptorreturnType";O:36:"phpDocumentor\Reflection\Types\Void_":0:{}s:63:"phpDocumentor\Descriptor\MethodDescriptorhasReturnByReference";b:0;}s:17:"testFacetMappings";O:41:"phpDocumentor\Descriptor\MethodDescriptor":19:{s:8:"*fqsen";O:30:"phpDocumentor\Reflection\Fqsen":2:{s:37:"phpDocumentor\Reflection\Fqsenfqsen";s:58:"\VuFindTest\Search\Blender\ParamsTest::testFacetMappings()";s:36:"phpDocumentor\Reflection\Fqsenname";s:17:"testFacetMappings";}s:7:"*name";s:17:"testFacetMappings";s:12:"*namespace";s:26:"\VuFindTest\Search\Blender";s:10:"*package";N;s:10:"*summary";s:42:"Test that facet mappings work as expected.";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:0:"";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:17:"*fileDescriptor";N;s:7:"*line";i:824;s:7:"*tags";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{s:6:"return";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{i:0;O:45:"phpDocumentor\Descriptor\Tag\ReturnDescriptor":4:{s:7:"*name";s:6:"return";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:0:"";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:8:"*types";O:36:"phpDocumentor\Reflection\Types\Void_":0:{}}}}}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:19:"*inheritedElement";N;s:9:"*parent";r:91;s:11:"*abstract";b:0;s:8:"*final";b:0;s:9:"*static";b:0;s:13:"*visibility";s:6:"public";s:12:"*arguments";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:53:"phpDocumentor\Descriptor\MethodDescriptorreturnType";O:36:"phpDocumentor\Reflection\Types\Void_":0:{}s:63:"phpDocumentor\Descriptor\MethodDescriptorhasReturnByReference";b:0;}s:22:"testSearchTypeMappings";O:41:"phpDocumentor\Descriptor\MethodDescriptor":19:{s:8:"*fqsen";O:30:"phpDocumentor\Reflection\Fqsen":2:{s:37:"phpDocumentor\Reflection\Fqsenfqsen";s:63:"\VuFindTest\Search\Blender\ParamsTest::testSearchTypeMappings()";s:36:"phpDocumentor\Reflection\Fqsenname";s:22:"testSearchTypeMappings";}s:7:"*name";s:22:"testSearchTypeMappings";s:12:"*namespace";s:26:"\VuFindTest\Search\Blender";s:10:"*package";N;s:10:"*summary";s:48:"Test that search type mappings work as expected.";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:0:"";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:17:"*fileDescriptor";N;s:7:"*line";i:910;s:7:"*tags";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{s:6:"return";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{i:0;O:45:"phpDocumentor\Descriptor\Tag\ReturnDescriptor":4:{s:7:"*name";s:6:"return";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:0:"";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:8:"*types";O:36:"phpDocumentor\Reflection\Types\Void_":0:{}}}}}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:19:"*inheritedElement";N;s:9:"*parent";r:91;s:11:"*abstract";b:0;s:8:"*final";b:0;s:9:"*static";b:0;s:13:"*visibility";s:6:"public";s:12:"*arguments";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:53:"phpDocumentor\Descriptor\MethodDescriptorreturnType";O:36:"phpDocumentor\Reflection\Types\Void_":0:{}s:63:"phpDocumentor\Descriptor\MethodDescriptorhasReturnByReference";b:0;}s:16:"testSortMappings";O:41:"phpDocumentor\Descriptor\MethodDescriptor":19:{s:8:"*fqsen";O:30:"phpDocumentor\Reflection\Fqsen":2:{s:37:"phpDocumentor\Reflection\Fqsenfqsen";s:57:"\VuFindTest\Search\Blender\ParamsTest::testSortMappings()";s:36:"phpDocumentor\Reflection\Fqsenname";s:16:"testSortMappings";}s:7:"*name";s:16:"testSortMappings";s:12:"*namespace";s:26:"\VuFindTest\Search\Blender";s:10:"*package";N;s:10:"*summary";s:41:"Test that sort mappings work as expected.";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:0:"";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:17:"*fileDescriptor";N;s:7:"*line";i:950;s:7:"*tags";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{s:6:"return";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{i:0;O:45:"phpDocumentor\Descriptor\Tag\ReturnDescriptor":4:{s:7:"*name";s:6:"return";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:0:"";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:8:"*types";O:36:"phpDocumentor\Reflection\Types\Void_":0:{}}}}}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:19:"*inheritedElement";N;s:9:"*parent";r:91;s:11:"*abstract";b:0;s:8:"*final";b:0;s:9:"*static";b:0;s:13:"*visibility";s:6:"public";s:12:"*arguments";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:53:"phpDocumentor\Descriptor\MethodDescriptorreturnType";O:36:"phpDocumentor\Reflection\Types\Void_":0:{}s:63:"phpDocumentor\Descriptor\MethodDescriptorhasReturnByReference";b:0;}s:19:"testInitFromRequest";O:41:"phpDocumentor\Descriptor\MethodDescriptor":19:{s:8:"*fqsen";O:30:"phpDocumentor\Reflection\Fqsen":2:{s:37:"phpDocumentor\Reflection\Fqsenfqsen";s:60:"\VuFindTest\Search\Blender\ParamsTest::testInitFromRequest()";s:36:"phpDocumentor\Reflection\Fqsenname";s:19:"testInitFromRequest";}s:7:"*name";s:19:"testInitFromRequest";s:12:"*namespace";s:26:"\VuFindTest\Search\Blender";s:10:"*package";N;s:10:"*summary";s:44:"Test that initFromRequest works as expected.";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:0:"";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:17:"*fileDescriptor";N;s:7:"*line";i:973;s:7:"*tags";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{s:6:"return";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{i:0;O:45:"phpDocumentor\Descriptor\Tag\ReturnDescriptor":4:{s:7:"*name";s:6:"return";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:0:"";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:8:"*types";O:36:"phpDocumentor\Reflection\Types\Void_":0:{}}}}}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:19:"*inheritedElement";N;s:9:"*parent";r:91;s:11:"*abstract";b:0;s:8:"*final";b:0;s:9:"*static";b:0;s:13:"*visibility";s:6:"public";s:12:"*arguments";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:53:"phpDocumentor\Descriptor\MethodDescriptorreturnType";O:36:"phpDocumentor\Reflection\Types\Void_":0:{}s:63:"phpDocumentor\Descriptor\MethodDescriptorhasReturnByReference";b:0;}s:18:"testInvalidBackend";O:41:"phpDocumentor\Descriptor\MethodDescriptor":19:{s:8:"*fqsen";O:30:"phpDocumentor\Reflection\Fqsen":2:{s:37:"phpDocumentor\Reflection\Fqsenfqsen";s:59:"\VuFindTest\Search\Blender\ParamsTest::testInvalidBackend()";s:36:"phpDocumentor\Reflection\Fqsenname";s:18:"testInvalidBackend";}s:7:"*name";s:18:"testInvalidBackend";s:12:"*namespace";s:26:"\VuFindTest\Search\Blender";s:10:"*package";N;s:10:"*summary";s:66:"Test that an invalid backend in configuration is handled properly.";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:0:"";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:17:"*fileDescriptor";N;s:7:"*line";i:1033;s:7:"*tags";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{s:6:"return";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{i:0;O:45:"phpDocumentor\Descriptor\Tag\ReturnDescriptor":4:{s:7:"*name";s:6:"return";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:0:"";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:8:"*types";O:36:"phpDocumentor\Reflection\Types\Void_":0:{}}}}}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:19:"*inheritedElement";N;s:9:"*parent";r:91;s:11:"*abstract";b:0;s:8:"*final";b:0;s:9:"*static";b:0;s:13:"*visibility";s:6:"public";s:12:"*arguments";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:53:"phpDocumentor\Descriptor\MethodDescriptorreturnType";O:36:"phpDocumentor\Reflection\Types\Void_":0:{}s:63:"phpDocumentor\Descriptor\MethodDescriptorhasReturnByReference";b:0;}s:16:"getConfigManager";O:41:"phpDocumentor\Descriptor\MethodDescriptor":19:{s:8:"*fqsen";O:30:"phpDocumentor\Reflection\Fqsen":2:{s:37:"phpDocumentor\Reflection\Fqsenfqsen";s:57:"\VuFindTest\Search\Blender\ParamsTest::getConfigManager()";s:36:"phpDocumentor\Reflection\Fqsenname";s:16:"getConfigManager";}s:7:"*name";s:16:"getConfigManager";s:12:"*namespace";s:26:"\VuFindTest\Search\Blender";s:10:"*package";N;s:10:"*summary";s:23:"Get mock config manager";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:0:"";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:17:"*fileDescriptor";N;s:7:"*line";i:1062;s:7:"*tags";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{s:6:"return";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{i:0;O:45:"phpDocumentor\Descriptor\Tag\ReturnDescriptor":4:{s:7:"*name";s:6:"return";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:0:"";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:8:"*types";O:38:"phpDocumentor\Reflection\Types\Object_":1:{s:45:"phpDocumentor\Reflection\Types\Object_fqsen";N;}}}}}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:19:"*inheritedElement";N;s:9:"*parent";r:91;s:11:"*abstract";b:0;s:8:"*final";b:0;s:9:"*static";b:0;s:13:"*visibility";s:9:"protected";s:12:"*arguments";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:53:"phpDocumentor\Descriptor\MethodDescriptorreturnType";O:37:"phpDocumentor\Reflection\Types\Mixed_":0:{}s:63:"phpDocumentor\Descriptor\MethodDescriptorhasReturnByReference";b:0;}s:21:"getParamsClassesArray";O:41:"phpDocumentor\Descriptor\MethodDescriptor":19:{s:8:"*fqsen";O:30:"phpDocumentor\Reflection\Fqsen":2:{s:37:"phpDocumentor\Reflection\Fqsenfqsen";s:62:"\VuFindTest\Search\Blender\ParamsTest::getParamsClassesArray()";s:36:"phpDocumentor\Reflection\Fqsenname";s:21:"getParamsClassesArray";}s:7:"*name";s:21:"getParamsClassesArray";s:12:"*namespace";s:26:"\VuFindTest\Search\Blender";s:10:"*package";N;s:10:"*summary";s:43:"Get params classes for an array of backends";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:0:"";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:17:"*fileDescriptor";N;s:7:"*line";i:1090;s:7:"*tags";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{s:6:"return";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{i:0;O:45:"phpDocumentor\Descriptor\Tag\ReturnDescriptor":4:{s:7:"*name";s:6:"return";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:0:"";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:8:"*types";O:37:"phpDocumentor\Reflection\Types\Array_":3:{s:12:"*valueType";O:37:"phpDocumentor\Reflection\Types\Mixed_":0:{}s:10:"*keyType";N;s:17:"*defaultKeyType";O:39:"phpDocumentor\Reflection\Types\Compound":2:{s:52:"phpDocumentor\Reflection\Types\AggregatedTypetypes";a:2:{i:0;O:38:"phpDocumentor\Reflection\Types\String_":0:{}i:1;O:38:"phpDocumentor\Reflection\Types\Integer":0:{}}s:52:"phpDocumentor\Reflection\Types\AggregatedTypetoken";s:1:"|";}}}}}}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:19:"*inheritedElement";N;s:9:"*parent";r:91;s:11:"*abstract";b:0;s:8:"*final";b:0;s:9:"*static";b:0;s:13:"*visibility";s:9:"protected";s:12:"*arguments";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:53:"phpDocumentor\Descriptor\MethodDescriptorreturnType";O:37:"phpDocumentor\Reflection\Types\Array_":3:{s:12:"*valueType";O:37:"phpDocumentor\Reflection\Types\Mixed_":0:{}s:10:"*keyType";N;s:17:"*defaultKeyType";O:39:"phpDocumentor\Reflection\Types\Compound":2:{s:52:"phpDocumentor\Reflection\Types\AggregatedTypetypes";a:2:{i:0;O:38:"phpDocumentor\Reflection\Types\String_":0:{}i:1;O:38:"phpDocumentor\Reflection\Types\Integer":0:{}}s:52:"phpDocumentor\Reflection\Types\AggregatedTypetoken";s:1:"|";}}s:63:"phpDocumentor\Descriptor\MethodDescriptorhasReturnByReference";b:0;}s:9:"getParams";O:41:"phpDocumentor\Descriptor\MethodDescriptor":19:{s:8:"*fqsen";O:30:"phpDocumentor\Reflection\Fqsen":2:{s:37:"phpDocumentor\Reflection\Fqsenfqsen";s:50:"\VuFindTest\Search\Blender\ParamsTest::getParams()";s:36:"phpDocumentor\Reflection\Fqsenname";s:9:"getParams";}s:7:"*name";s:9:"getParams";s:12:"*namespace";s:26:"\VuFindTest\Search\Blender";s:10:"*package";N;s:10:"*summary";s:16:"Get Params class";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:0:"";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:17:"*fileDescriptor";N;s:7:"*line";i:1120;s:7:"*tags";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:2:{s:5:"param";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:2:{i:0;O:44:"phpDocumentor\Descriptor\Tag\ParamDescriptor":5:{s:7:"*name";s:5:"param";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:41:"Blender configuration, overrides defaults";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:8:"*types";O:37:"phpDocumentor\Reflection\Types\Array_":3:{s:12:"*valueType";O:37:"phpDocumentor\Reflection\Types\Mixed_":0:{}s:10:"*keyType";N;s:17:"*defaultKeyType";O:39:"phpDocumentor\Reflection\Types\Compound":2:{s:52:"phpDocumentor\Reflection\Types\AggregatedTypetypes";a:2:{i:0;O:38:"phpDocumentor\Reflection\Types\String_":0:{}i:1;O:38:"phpDocumentor\Reflection\Types\Integer":0:{}}s:52:"phpDocumentor\Reflection\Types\AggregatedTypetoken";s:1:"|";}}s:15:"*variableName";s:6:"config";}i:1;O:44:"phpDocumentor\Descriptor\Tag\ParamDescriptor":5:{s:7:"*name";s:5:"param";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:36:"Blender mappings, overrides defaults";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:8:"*types";O:37:"phpDocumentor\Reflection\Types\Array_":3:{s:12:"*valueType";O:37:"phpDocumentor\Reflection\Types\Mixed_":0:{}s:10:"*keyType";N;s:17:"*defaultKeyType";O:39:"phpDocumentor\Reflection\Types\Compound":2:{s:52:"phpDocumentor\Reflection\Types\AggregatedTypetypes";a:2:{i:0;O:38:"phpDocumentor\Reflection\Types\String_":0:{}i:1;O:38:"phpDocumentor\Reflection\Types\Integer":0:{}}s:52:"phpDocumentor\Reflection\Types\AggregatedTypetoken";s:1:"|";}}s:15:"*variableName";s:8:"mappings";}}}s:6:"return";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{i:0;O:45:"phpDocumentor\Descriptor\Tag\ReturnDescriptor":4:{s:7:"*name";s:6:"return";s:14:"*description";O:55:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptor":2:{s:68:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptordescription";O:45:"phpDocumentor\Reflection\DocBlock\Description":2:{s:59:"phpDocumentor\Reflection\DocBlock\DescriptionbodyTemplate";s:0:"";s:51:"phpDocumentor\Reflection\DocBlock\Descriptiontags";a:0:{}}s:67:"phpDocumentor\Descriptor\DocBlock\DescriptionDescriptorinlineTags";a:0:{}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:8:"*types";O:38:"phpDocumentor\Reflection\Types\Object_":1:{s:45:"phpDocumentor\Reflection\Types\Object_fqsen";O:30:"phpDocumentor\Reflection\Fqsen":2:{s:37:"phpDocumentor\Reflection\Fqsenfqsen";s:29:"\VuFind\Search\Blender\Params";s:36:"phpDocumentor\Reflection\Fqsenname";s:6:"Params";}}}}}}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:19:"*inheritedElement";N;s:9:"*parent";r:91;s:11:"*abstract";b:0;s:8:"*final";b:0;s:9:"*static";b:0;s:13:"*visibility";s:9:"protected";s:12:"*arguments";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:2:{s:6:"config";O:43:"phpDocumentor\Descriptor\ArgumentDescriptor":16:{s:8:"*fqsen";N;s:7:"*name";s:6:"config";s:12:"*namespace";s:0:"";s:10:"*package";N;s:10:"*summary";s:0:"";s:14:"*description";r:1113;s:17:"*fileDescriptor";N;s:7:"*line";i:1120;s:7:"*tags";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:19:"*inheritedElement";N;s:9:"*method";r:1092;s:7:"*type";r:1120;s:10:"*default";s:4:"null";s:14:"*byReference";b:0;s:13:"*isVariadic";b:0;}s:8:"mappings";O:43:"phpDocumentor\Descriptor\ArgumentDescriptor":16:{s:8:"*fqsen";N;s:7:"*name";s:8:"mappings";s:12:"*namespace";s:0:"";s:10:"*package";N;s:10:"*summary";s:0:"";s:14:"*description";r:1131;s:17:"*fileDescriptor";N;s:7:"*line";i:1120;s:7:"*tags";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:19:"*inheritedElement";N;s:9:"*method";r:1092;s:7:"*type";r:1138;s:10:"*default";s:4:"null";s:14:"*byReference";b:0;s:13:"*isVariadic";b:0;}}}s:53:"phpDocumentor\Descriptor\MethodDescriptorreturnType";O:38:"phpDocumentor\Reflection\Types\Object_":1:{s:45:"phpDocumentor\Reflection\Types\Object_fqsen";O:30:"phpDocumentor\Reflection\Fqsen":2:{s:37:"phpDocumentor\Reflection\Fqsenfqsen";s:29:"\VuFind\Search\Blender\Params";s:36:"phpDocumentor\Reflection\Fqsenname";s:6:"Params";}}s:63:"phpDocumentor\Descriptor\MethodDescriptorhasReturnByReference";b:0;}}}s:13:"*usedTraits";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}}}}s:13:"*interfaces";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:9:"*traits";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:10:"*markers";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:46:"phpDocumentor\Descriptor\FileDescriptorenums";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}}