1752171309 gFFBC%2BJB4H%3AphpDocumentor-projectDescriptor-files-d1ba0806b3c3479b7a1f3658f0fea33c O:39:"phpDocumentor\Descriptor\FileDescriptor":23:{s:8:"*fqsen";N;s:7:"*name";s:12:"FormTest.php";s:12:"*namespace";s:0:"";s:10:"*package";s:5:"Tests";s:10:"*summary";s:15:"Form Test 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:676:"PHP version 8 Copyright (C) Villanova University 2018. 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:2:{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:39:"Demian Katz ";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:{}}}i:1;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:35:"Juha Luoma ";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:"2177d537397cdcec447a6dd8323092ba";s:7:"*path";s:56:"VuFind/tests/unit-tests/src/VuFindTest/Form/FormTest.php";s:9:"*source";s:30911:" * @author Juha Luoma * @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\Form; use Symfony\Component\Yaml\Yaml; use VuFind\Config\YamlReader; use VuFind\Form\Form; use function get_class; /** * Form Test Class * * @category VuFind * @package Tests * @author Demian Katz * @author Juha Luoma * @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License * @link https://vufind.org/wiki/development:testing:unit_tests Wiki */ class FormTest extends \PHPUnit\Framework\TestCase { use \VuFindTest\Feature\FixtureTrait; protected $mockTestFormYamlReader = null; /** * Test defaults with no configuration. * * @return void */ public function testDefaultsWithoutConfiguration() { $form = new Form( new YamlReader(), $this->createMock(\Laminas\View\HelperPluginManager::class), $this->createMock(\VuFind\Form\Handler\PluginManager::class) ); $this->assertTrue($form->isEnabled()); $this->assertTrue($form->useCaptcha()); $this->assertFalse($form->showOnlyForLoggedUsers()); $this->assertEquals([], $form->getFormElementConfig()); $this->assertEquals( [['email' => null, 'name' => null]], $form->getRecipient() ); $this->assertNull($form->getTitle()); $this->assertNull($form->getHelp()); $this->assertEquals('VuFind Feedback', $form->getEmailSubject([])); $this->assertEquals( 'feedback_response', $form->getSubmitResponse() ); $this->assertEquals([[], 'Email/form.phtml'], $form->formatEmailMessage([])); $this->assertEquals([], $form->mapRequestParamsToFieldValues([])); $this->assertEquals( 'Laminas\InputFilter\InputFilter', get_class($form->getInputFilter()) ); $this->assertCount(0, $form->getSecondaryHandlers()); } /** * Test defaults with defaults passed to constructor. * * @return void */ public function testDefaultsWithConfiguration() { $defaults = [ 'recipient_email' => 'me@example.com', 'recipient_name' => 'me', 'email_subject' => 'subject', ]; $form = new Form( new YamlReader(), $this->createMock(\Laminas\View\HelperPluginManager::class), $this->createMock(\VuFind\Form\Handler\PluginManager::class), ['Feedback' => $defaults] ); $this->assertEquals( [['name' => 'me', 'email' => 'me@example.com']], $form->getRecipient() ); $this->assertEquals('subject', $form->getEmailSubject([])); } /** * Test that the class blocks unknown form IDs. * * @return void */ public function testUndefinedFormId() { $this->expectException(\VuFind\Exception\RecordMissing::class); $this->expectExceptionMessage('Form \'foo\' not found'); $form = new Form( new YamlReader(), $this->createMock(\Laminas\View\HelperPluginManager::class), $this->createMock(\VuFind\Form\Handler\PluginManager::class) ); $form->setFormId('foo'); } /** * Test defaults with no configuration. * * @return void */ public function testDefaultsWithFormSet() { $form = new Form( new YamlReader(), $this->createMock(\Laminas\View\HelperPluginManager::class), $this->createMock(\VuFind\Form\Handler\PluginManager::class) ); $form->setFormId('FeedbackSite'); $this->assertTrue($form->isEnabled()); $this->assertTrue($form->useCaptcha()); $this->assertFalse($form->showOnlyForLoggedUsers()); $this->assertEquals( [ [ 'type' => 'textarea', 'name' => 'message', 'required' => true, 'label' => 'Comments', 'settings' => ['rows' => 8], ], [ 'type' => 'text', 'name' => 'name', 'group' => '__sender__', 'label' => 'feedback_name', ], [ 'type' => 'email', 'name' => 'email', 'group' => '__sender__', 'label' => 'feedback_email', ], [ 'type' => 'submit', 'name' => 'submitButton', 'label' => 'Send', ], ], $form->getFormElementConfig() ); $this->assertEquals( [['email' => null, 'name' => null]], $form->getRecipient() ); $this->assertEquals('feedback_title', $form->getTitle()); $this->assertNull($form->getHelp()); $this->assertEquals('VuFind Feedback', $form->getEmailSubject([])); $this->assertEquals( 'feedback_response', $form->getSubmitResponse() ); $expectedFields = [ [ 'type' => 'textarea', 'value' => 'x', 'valueLabel' => null, 'label' => 'Comments', 'name' => 'message', 'required' => true, 'settings' => ['rows' => 8], ], [ 'type' => 'text', 'value' => 'y', 'valueLabel' => null, 'name' => 'name', 'group' => '__sender__', 'label' => 'feedback_name', ], [ 'type' => 'email', 'value' => 'z@foo.com', 'valueLabel' => null, 'name' => 'email', 'group' => '__sender__', 'label' => 'feedback_email', ], ]; $postParams = [ 'message' => 'x', 'name' => 'y', 'email' => 'z@foo.com', ]; $this->assertEquals( [ $expectedFields, 'Email/form.phtml', ], $form->formatEmailMessage($postParams) ); $this->assertEquals( $expectedFields, $form->mapRequestParamsToFieldValues($postParams) ); $this->assertEquals( 'Laminas\InputFilter\InputFilter', get_class($form->getInputFilter()) ); // Validators: Required field problems $form->setData(['email' => 'foo@bar.com', 'message' => null]); $this->assertFalse($form->isValid()); $form->setData(['email' => 'foo@bar.com', 'message' => '']); $this->assertFalse($form->isValid()); // Validators: Email problems $form->setData(['email' => ' ', 'message' => 'message']); $this->assertFalse($form->isValid()); $form->setData(['email' => 'foo', 'message' => 'message']); $this->assertFalse($form->isValid()); $form->setData(['email' => 'foo@', 'message' => 'message']); $this->assertFalse($form->isValid()); $form->setData(['email' => 'foo@bar', 'message' => 'message']); $this->assertFalse($form->isValid()); // Validators: Good data $form->setData(['email' => 'foo@bar.com', 'message' => 'message']); $this->assertTrue($form->isValid()); } /** * Test sender field merging. * * @return void */ public function testSenderFieldMerging() { $form = new Form( new YamlReader(), $this->createMock(\Laminas\View\HelperPluginManager::class), $this->createMock(\VuFind\Form\Handler\PluginManager::class) ); $form->setFormId('FeedbackSite'); $this->assertEquals( [ [ 'type' => 'textarea', 'name' => 'message', 'required' => true, 'label' => 'Comments', 'settings' => ['rows' => 8], ], [ 'type' => 'text', 'name' => 'name', 'group' => '__sender__', 'label' => 'feedback_name', ], [ 'type' => 'email', 'name' => 'email', 'group' => '__sender__', 'label' => 'feedback_email', ], [ 'type' => 'submit', 'name' => 'submitButton', 'label' => 'Send', ], ], $form->getFormElementConfig() ); $form = $this->getMockTestForm('TestSenderFields'); $this->assertEquals( [ [ 'type' => 'text', 'name' => 'name', 'group' => '__sender__', 'label' => 'Sender Name', 'settings' => [], ], [ 'type' => 'text', 'name' => 'phone', 'group' => '__sender__', 'label' => 'Phone Number', 'settings' => [], ], [ 'type' => 'email', 'name' => 'email', 'group' => '__sender__', 'label' => 'feedback_email', 'settings' => [], ], [ 'type' => 'textarea', 'name' => 'message', 'required' => true, 'label' => 'Comments', 'settings' => ['rows' => 8], ], [ 'type' => 'submit', 'name' => 'submitButton', 'label' => 'Send', ], ], $form->getFormElementConfig() ); } /** * Test sender field merging. * * @return void */ public function testSenderFieldMergingWithSettings() { $form = $this->getMockTestForm('TestSenderFieldsWithSettings'); $this->assertEquals( [ [ 'type' => 'text', 'name' => 'name', 'group' => '__sender__', 'label' => 'Sender Name', 'settings' => [ 'size' => 100, // from feedbackforms/test.yaml ], ], [ 'type' => 'text', 'name' => 'phone', 'group' => '__sender__', 'label' => 'Phone Number', 'settings' => [], ], [ 'type' => 'email', 'name' => 'email', 'group' => '__sender__', 'label' => 'feedback_email', 'settings' => [ 'aria-label' => 'Test label', ], ], [ 'type' => 'textarea', 'name' => 'message', 'required' => true, 'label' => 'Comments', 'settings' => ['rows' => 8], ], [ 'type' => 'submit', 'name' => 'submitButton', 'label' => 'Send', ], ], $form->getFormElementConfig() ); } /** * Get a mock YamlReader object. * * @return YamlReader */ protected function getMockTestFormYamlReader() { if (!isset($this->mockTestFormYamlReader)) { $config = Yaml::parse($this->getFixture('configs/feedbackforms/test.yaml')); $mock = $this->getMockBuilder(\VuFind\Config\YamlReader::class) ->disableOriginalConstructor() ->onlyMethods(['get']) ->getMock(); $mock->expects($this->any())->method('get') ->with($this->equalTo('FeedbackForms.yaml')) ->will($this->returnValue($config)); $this->mockTestFormYamlReader = $mock; } return $this->mockTestFormYamlReader; } /** * Get a mock Form object. * * @param string $formId Form identifier * @param array $params Parameters to pass to setFormId * @param array $prefill Prefill data to pass to setFormId * * @return Form * @throws \Exception */ protected function getMockTestForm($formId, $params = [], $prefill = []) { $form = new Form( $this->getMockTestFormYamlReader(), $this->createMock(\Laminas\View\HelperPluginManager::class), $this->createMock(\VuFind\Form\Handler\PluginManager::class) ); $form->setFormId($formId, $params, $prefill); return $form; } /** * Test element options (select, radio, checkbox). * * @return void */ public function testElementOptions() { $form = $this->getMockTestForm('TestElementOptions'); $getElement = function ($name, $elements) { foreach ($elements as $el) { if ($el['name'] === $name) { return $el; } } return null; }; $elements = $form->getFormElementConfig(); // Select element optionGroup: options with labels and values $el = $getElement('select', $elements); $this->assertEquals( [ 'o1' => [ 'value' => 'value-1', 'label' => 'label-1', ], 'o2' => [ 'value' => 'value-2', 'label' => 'label-2', ], ], $el['optionGroups']['group-1']['options'] ); // Select element optionGroup: options with values $el = $getElement('select2', $elements); $this->assertEquals( [ 'o1' => [ 'value' => 'option-1', 'label' => 'option-1', ], 'o2' => [ 'value' => 'option-2', 'label' => 'option-2', ], ], $el['optionGroups']['group-1']['options'] ); // Select element options with labels and values $el = $getElement('select3', $elements); $this->assertEquals( [ 'o1' => [ 'label' => 'label-1', 'value' => 'value-1', ], 'o2' => [ 'label' => 'label-2', 'value' => 'value-2', ], ], $el['options'] ); // Select element options with values $el = $getElement('select4', $elements); $this->assertEquals( [ 'o1' => [ 'label' => 'option-1', 'value' => 'option-1', ], 'o2' => [ 'label' => 'option-2', 'value' => 'option-2', ], ], $el['options'] ); // Radio element options with labels and values $el = $getElement('radio', $elements); $this->assertEquals( [ 'o1' => [ 'label' => 'label-1', 'value' => 'value-1', ], 'o2' => [ 'label' => 'label-2', 'value' => 'value-2', ], ], $el['options'] ); // Radio element options with values $el = $getElement('radio2', $elements); $this->assertEquals( [ 'o1' => [ 'label' => 'option-1', 'value' => 'option-1', ], 'o2' => [ 'label' => 'option-2', 'value' => 'option-2', ], ], $el['options'] ); // Checkbox element options with labels and values $el = $getElement('checkbox', $elements); $this->assertEquals( [ 'o1' => [ 'label' => 'label-1', 'value' => 'value-1', ], 'o2' => [ 'label' => 'label-2', 'value' => 'value-2', ], ], $el['options'] ); // Checkbox element options with values $el = $getElement('checkbox2', $elements); $this->assertEquals( [ 'o1' => [ 'label' => 'option-1', 'value' => 'option-1', ], 'o2' => [ 'label' => 'option-2', 'value' => 'option-2', ], ], $el['options'] ); } /** * Test element option value validators (select, radio, checkbox). * * @return void */ public function testElementOptionValueValidators() { $form = $this->getMockTestForm('TestElementOptions'); // Select element optionGroup: options with labels and values // Valid option value $form->setData(['select' => 'o1']); $this->assertTrue($form->isValid()); // Invalid option values $form->setData(['select' => 'invalid-value']); $this->assertFalse($form->isValid()); $form->setData(['select' => 0]); $this->assertFalse($form->isValid()); $form->setData(['select' => 'o11']); $this->assertFalse($form->isValid()); // Select element optionGroup: options with values // Valid option value $form->setData(['select2' => 'o1']); $this->assertTrue($form->isValid()); // Invalid option value $form->setData(['select2' => 'invalid-option']); $this->assertFalse($form->isValid()); // Select element options with labels and values // Valid option value $form->setData(['select3' => 'o1']); $this->assertTrue($form->isValid()); // Invalid option value $form->setData(['select3' => 'invalid-value']); $this->assertFalse($form->isValid()); // Select element options with values // Valid option value $form->setData(['select4' => 'o1']); $this->assertTrue($form->isValid()); // Invalid option value $form->setData(['select4' => 'invalid-option']); $this->assertFalse($form->isValid()); // Radio element options with labels and values // Valid option value $form->setData(['radio' => 'o1']); $this->assertTrue($form->isValid()); // Invalid option value $form->setData(['radio' => 'invalid-value']); $this->assertFalse($form->isValid()); // Radio element options with values // Valid option value $form->setData(['radio2' => 'o1']); $this->assertTrue($form->isValid()); // Invalid option value $form->setData(['radio2' => 'invalid-option']); $this->assertFalse($form->isValid()); // Checkbox element options with labels and values // Valid option value $form->setData(['checkbox' => 'o1']); $this->assertTrue($form->isValid()); // Invalid option value $form->setData(['checkbox' => 'invalid-value']); $this->assertFalse($form->isValid()); // Checkbox element options with values // Valid option value $form->setData(['checkbox2' => 'o1']); $this->assertTrue($form->isValid()); // Invalid option value $form->setData(['checkbox2' => 'invalid-option']); $this->assertFalse($form->isValid()); } /** * Test checkbox element 'required' and 'requireOne' option validators. * * @return void */ public function testCheckboxRequiredValidators() { // Test checkbox with all options required $ids = [ 'TestCheckboxWithAllOptionsRequired', // options with value 'TestCheckboxWithAllOptionsRequired-2', // options with label and value ]; foreach ($ids as $id) { $form = $this->getMockTestForm($id); // No options $form->setData(['checkbox' => []]); $this->assertFalse($form->isValid()); // One OK option, another missing $form->setData(['checkbox' => ['o1']]); $this->assertFalse($form->isValid()); // One OK option, another invalid $form->setData(['checkbox' => ['o1', 'invalid-option']]); $this->assertFalse($form->isValid()); // Both required options $form->setData(['checkbox' => ['o1', 'o2']]); $this->assertTrue($form->isValid()); // Both required options and one invalid $form->setData(['checkbox' => ['o1', 'o2', 'invalid-option']]); $this->assertFalse($form->isValid()); } // Test checkbox with one required option $ids = [ 'TestCheckboxWithOneOptionRequired', // options with value 'TestCheckboxWithOneOptionRequired-2', // options with label and value ]; foreach ($ids as $id) { $form = $this->getMockTestForm($id); // No options $form->setData(['checkbox' => []]); $this->assertFalse($form->isValid()); // One invalid option $form->setData(['checkbox' => ['invalid-option']]); $this->assertFalse($form->isValid()); // One OK option $form->setData(['checkbox' => ['o1']]); $this->assertTrue($form->isValid()); // One OK option $form->setData(['checkbox' => ['o2']]); $this->assertTrue($form->isValid()); // Both options OK $form->setData(['checkbox' => ['o1', 'o2']]); $this->assertTrue($form->isValid()); // One OK and one invalid option $form->setData(['checkbox' => ['o1', 'invalid-option']]); $this->assertFalse($form->isValid()); } // Test checkbox with a single option that is required $ids = [ // options with value 'TestCheckboxWithOneOptionThatIsRequired', // options with label and value 'TestCheckboxWithOneOptionThatIsRequired-2', ]; foreach ($ids as $id) { $form = $this->getMockTestForm($id); // No options $form->setData(['checkbox' => []]); $this->assertFalse($form->isValid()); // One invalid option $form->setData(['checkbox' => ['invalid-option']]); $this->assertFalse($form->isValid()); // One OK option $form->setData(['checkbox' => ['o1']]); $this->assertTrue($form->isValid()); // One OK and one invalid option $form->setData(['checkbox' => ['o1', 'invalid-option']]); $this->assertFalse($form->isValid()); } // Test checkbox with a single option that is required, // configured with requireOne $ids = [ // options with value 'TestCheckboxWithOneOptionThatIsRequiredConfiguredWithRequireOne', // options with label and value 'TestCheckboxWithOneOptionThatIsRequiredConfiguredWithRequireOne-2', ]; foreach ($ids as $id) { $form = $this->getMockTestForm($id); // No options $form->setData(['checkbox' => []]); $this->assertFalse($form->isValid()); // One invalid option $form->setData(['checkbox' => ['invalid-option']]); $this->assertFalse($form->isValid()); // One OK option $form->setData(['checkbox' => ['o1']]); $this->assertTrue($form->isValid()); // One OK and one invalid option $form->setData(['checkbox' => ['o1', 'invalid-option']]); $this->assertFalse($form->isValid()); } } /** * Function to get testEmailSubjects data. * * @return array */ public static function getEmailSubjectsData(): array { return [ 'with placeholders' => [ 'TestSubjectEmailWithPlaceholders', 'Subject One Two option-1', ], 'without placeholders' => [ 'TestSubjectEmailWithoutPlaceholders', 'Subject without placeholders', ], ]; } /** * Test email subjects. * * @param string $formToTest ID of the form to test. * @param string $expectedSubject String to be expected. * * @return void * * @dataProvider getEmailSubjectsData */ public function testEmailSubjects( string $formToTest, string $expectedSubject ): void { $form = $this->getMockTestForm($formToTest); $form->setData( [ 'text1' => 'One', 'text2' => 'Two', 'checkbox' => ['o1'], ] ); $this->assertTrue($form->isValid()); $this->assertEquals( $expectedSubject, $form->getEmailSubject($form->getData()) ); } /** * Test prefilling values for inputs from form configuration * * @return void */ public function testPrefill(): void { $form = $this->getMockTestForm( 'TestPrefill', [], [ 'message' => 'Here is your message', // Should be prefilled 'secret_code' => 'new_secret', // Should be prefilled 'phone' => '123456789', //Should not be prefilled ] ); $this->assertEquals( [ [ 'type' => 'text', 'name' => 'name', 'group' => '__sender__', 'label' => 'Sender Name', 'settings' => [], ], [ 'type' => 'email', 'name' => 'email', 'group' => '__sender__', 'label' => 'feedback_email', 'settings' => [], ], [ 'type' => 'textarea', 'name' => 'message', 'label' => 'Comments', 'settings' => [ 'rows' => 8, 'value' => 'Here is your message', ], ], [ 'type' => 'text', 'name' => 'phone', 'label' => 'Phone Number', 'settings' => [], ], [ 'type' => 'hidden', 'name' => 'secret_code', 'label' => '', 'settings' => [ 'value' => 'new_secret', ], ], [ 'type' => 'submit', 'name' => 'submitButton', 'label' => 'Send', ], ], $form->getFormElementConfig() ); } /** * Test protecting fields from being prefilled * * @return void */ public function testPrefillProtectedFields(): void { $form = $this->getMockTestForm( 'TestPrefillProtectedFields', ['userAgent' => 'VuFind Browser 1.0'], [ 'userAgent' => 'My Browser 1.0', 'submit' => 'Bad submit value', ] ); $this->assertEquals( [ [ 'type' => 'text', 'name' => 'name', 'group' => '__sender__', 'label' => 'Sender Name', 'settings' => [], ], [ 'type' => 'email', 'name' => 'email', 'group' => '__sender__', 'label' => 'feedback_email', 'settings' => [], ], [ 'type' => 'textarea', 'name' => 'message', 'label' => 'Comments', 'settings' => [ 'rows' => 8, ], ], [ 'type' => 'hidden', 'name' => 'useragent', 'label' => 'User Agent', 'settings' => ['value' => 'VuFind Browser 1.0'], ], [ 'type' => 'submit', 'name' => 'submitButton', 'label' => 'Send', ], ], $form->getFormElementConfig() ); } } ";s:19:"*namespaceAliases";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{s:16:"\VuFindTest\Form";O:30:"phpDocumentor\Reflection\Fqsen":2:{s:37:"phpDocumentor\Reflection\Fqsenfqsen";s:16:"\VuFindTest\Form";s:36:"phpDocumentor\Reflection\Fqsenname";s:4:"Form";}}}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:25:"\VuFindTest\Form\FormTest";O:40:"phpDocumentor\Descriptor\ClassDescriptor":19:{s:8:"*fqsen";O:30:"phpDocumentor\Reflection\Fqsen":2:{s:37:"phpDocumentor\Reflection\Fqsenfqsen";s:25:"\VuFindTest\Form\FormTest";s:36:"phpDocumentor\Reflection\Fqsenname";s:8:"FormTest";}s:7:"*name";s:8:"FormTest";s:12:"*namespace";s:16:"\VuFindTest\Form";s:10:"*package";s:5:"Tests";s:10:"*summary";s:15:"Form Test 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";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:2:{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:39:"Demian Katz ";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:{}}}i:1;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:35:"Juha Luoma ";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:1:{s:22:"mockTestFormYamlReader";O:43:"phpDocumentor\Descriptor\PropertyDescriptor":18:{s:8:"*fqsen";O:30:"phpDocumentor\Reflection\Fqsen":2:{s:37:"phpDocumentor\Reflection\Fqsenfqsen";s:50:"\VuFindTest\Form\FormTest::$mockTestFormYamlReader";s:36:"phpDocumentor\Reflection\Fqsenname";s:22:"mockTestFormYamlReader";}s:7:"*name";s:22:"mockTestFormYamlReader";s:12:"*namespace";s:25:"\VuFindTest\Form\FormTest";s:10:"*package";N;s:10:"*summary";s:0:"";s:14:"*description";N;s:17:"*fileDescriptor";N;s:7:"*line";i:53;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:"*parent";r:100;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:32:"testDefaultsWithoutConfiguration";O:41:"phpDocumentor\Descriptor\MethodDescriptor":19:{s:8:"*fqsen";O:30:"phpDocumentor\Reflection\Fqsen":2:{s:37:"phpDocumentor\Reflection\Fqsenfqsen";s:61:"\VuFindTest\Form\FormTest::testDefaultsWithoutConfiguration()";s:36:"phpDocumentor\Reflection\Fqsenname";s:32:"testDefaultsWithoutConfiguration";}s:7:"*name";s:32:"testDefaultsWithoutConfiguration";s:12:"*namespace";s:16:"\VuFindTest\Form";s:10:"*package";N;s:10:"*summary";s:36:"Test defaults with no 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:60;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:100;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:37:"phpDocumentor\Reflection\Types\Mixed_":0:{}s:63:"phpDocumentor\Descriptor\MethodDescriptorhasReturnByReference";b:0;}s:29:"testDefaultsWithConfiguration";O:41:"phpDocumentor\Descriptor\MethodDescriptor":19:{s:8:"*fqsen";O:30:"phpDocumentor\Reflection\Fqsen":2:{s:37:"phpDocumentor\Reflection\Fqsenfqsen";s:58:"\VuFindTest\Form\FormTest::testDefaultsWithConfiguration()";s:36:"phpDocumentor\Reflection\Fqsenname";s:29:"testDefaultsWithConfiguration";}s:7:"*name";s:29:"testDefaultsWithConfiguration";s:12:"*namespace";s:16:"\VuFindTest\Form";s:10:"*package";N;s:10:"*summary";s:50:"Test defaults with defaults passed to constructor.";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:97;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:100;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:37:"phpDocumentor\Reflection\Types\Mixed_":0:{}s:63:"phpDocumentor\Descriptor\MethodDescriptorhasReturnByReference";b:0;}s:19:"testUndefinedFormId";O:41:"phpDocumentor\Descriptor\MethodDescriptor":19:{s:8:"*fqsen";O:30:"phpDocumentor\Reflection\Fqsen":2:{s:37:"phpDocumentor\Reflection\Fqsenfqsen";s:48:"\VuFindTest\Form\FormTest::testUndefinedFormId()";s:36:"phpDocumentor\Reflection\Fqsenname";s:19:"testUndefinedFormId";}s:7:"*name";s:19:"testUndefinedFormId";s:12:"*namespace";s:16:"\VuFindTest\Form";s:10:"*package";N;s:10:"*summary";s:44:"Test that the class blocks unknown form IDs.";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:122;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:100;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:37:"phpDocumentor\Reflection\Types\Mixed_":0:{}s:63:"phpDocumentor\Descriptor\MethodDescriptorhasReturnByReference";b:0;}s:23:"testDefaultsWithFormSet";O:41:"phpDocumentor\Descriptor\MethodDescriptor":19:{s:8:"*fqsen";O:30:"phpDocumentor\Reflection\Fqsen":2:{s:37:"phpDocumentor\Reflection\Fqsenfqsen";s:52:"\VuFindTest\Form\FormTest::testDefaultsWithFormSet()";s:36:"phpDocumentor\Reflection\Fqsenname";s:23:"testDefaultsWithFormSet";}s:7:"*name";s:23:"testDefaultsWithFormSet";s:12:"*namespace";s:16:"\VuFindTest\Form";s:10:"*package";N;s:10:"*summary";s:36:"Test defaults with no 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:140;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:100;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:37:"phpDocumentor\Reflection\Types\Mixed_":0:{}s:63:"phpDocumentor\Descriptor\MethodDescriptorhasReturnByReference";b:0;}s:22:"testSenderFieldMerging";O:41:"phpDocumentor\Descriptor\MethodDescriptor":19:{s:8:"*fqsen";O:30:"phpDocumentor\Reflection\Fqsen":2:{s:37:"phpDocumentor\Reflection\Fqsenfqsen";s:51:"\VuFindTest\Form\FormTest::testSenderFieldMerging()";s:36:"phpDocumentor\Reflection\Fqsenname";s:22:"testSenderFieldMerging";}s:7:"*name";s:22:"testSenderFieldMerging";s:12:"*namespace";s:16:"\VuFindTest\Form";s:10:"*package";N;s:10:"*summary";s:26:"Test sender field merging.";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:269;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:100;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:37:"phpDocumentor\Reflection\Types\Mixed_":0:{}s:63:"phpDocumentor\Descriptor\MethodDescriptorhasReturnByReference";b:0;}s:34:"testSenderFieldMergingWithSettings";O:41:"phpDocumentor\Descriptor\MethodDescriptor":19:{s:8:"*fqsen";O:30:"phpDocumentor\Reflection\Fqsen":2:{s:37:"phpDocumentor\Reflection\Fqsenfqsen";s:63:"\VuFindTest\Form\FormTest::testSenderFieldMergingWithSettings()";s:36:"phpDocumentor\Reflection\Fqsenname";s:34:"testSenderFieldMergingWithSettings";}s:7:"*name";s:34:"testSenderFieldMergingWithSettings";s:12:"*namespace";s:16:"\VuFindTest\Form";s:10:"*package";N;s:10:"*summary";s:26:"Test sender field merging.";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:354;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:100;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:37:"phpDocumentor\Reflection\Types\Mixed_":0:{}s:63:"phpDocumentor\Descriptor\MethodDescriptorhasReturnByReference";b:0;}s:25:"getMockTestFormYamlReader";O:41:"phpDocumentor\Descriptor\MethodDescriptor":19:{s:8:"*fqsen";O:30:"phpDocumentor\Reflection\Fqsen":2:{s:37:"phpDocumentor\Reflection\Fqsenfqsen";s:54:"\VuFindTest\Form\FormTest::getMockTestFormYamlReader()";s:36:"phpDocumentor\Reflection\Fqsenname";s:25:"getMockTestFormYamlReader";}s:7:"*name";s:25:"getMockTestFormYamlReader";s:12:"*namespace";s:16:"\VuFindTest\Form";s:10:"*package";N;s:10:"*summary";s:29:"Get a mock YamlReader object.";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:406;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";O:30:"phpDocumentor\Reflection\Fqsen":2:{s:37:"phpDocumentor\Reflection\Fqsenfqsen";s:25:"\VuFind\Config\YamlReader";s:36:"phpDocumentor\Reflection\Fqsenname";s:10:"YamlReader";}}}}}}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:19:"*inheritedElement";N;s:9:"*parent";r:100;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:15:"getMockTestForm";O:41:"phpDocumentor\Descriptor\MethodDescriptor":19:{s:8:"*fqsen";O:30:"phpDocumentor\Reflection\Fqsen":2:{s:37:"phpDocumentor\Reflection\Fqsenfqsen";s:44:"\VuFindTest\Form\FormTest::getMockTestForm()";s:36:"phpDocumentor\Reflection\Fqsenname";s:15:"getMockTestForm";}s:7:"*name";s:15:"getMockTestForm";s:12:"*namespace";s:16:"\VuFindTest\Form";s:10:"*package";N;s:10:"*summary";s:23:"Get a mock Form object.";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:432;s:7:"*tags";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:3:{s:5:"param";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:3:{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:15:"Form identifier";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\String_":0:{}s:15:"*variableName";s:6:"formId";}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:31:"Parameters to pass to setFormId";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:"params";}i:2;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:33:"Prefill data to pass to setFormId";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:7:"prefill";}}}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:17:"\VuFind\Form\Form";s:36:"phpDocumentor\Reflection\Fqsenname";s:4:"Form";}}}}}s:6:"throws";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{i:0;O:45:"phpDocumentor\Descriptor\Tag\ThrowsDescriptor":4:{s:7:"*name";s:6:"throws";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:10:"\Exception";s:36:"phpDocumentor\Reflection\Fqsenname";s:9:"Exception";}}}}}}}s:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:19:"*inheritedElement";N;s:9:"*parent";r:100;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:3:{s:6:"formId";O:43:"phpDocumentor\Descriptor\ArgumentDescriptor":16:{s:8:"*fqsen";N;s:7:"*name";s:6:"formId";s:12:"*namespace";s:0:"";s:10:"*package";N;s:10:"*summary";s:0:"";s:14:"*description";r:532;s:17:"*fileDescriptor";N;s:7:"*line";i:432;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:511;s:7:"*type";r:539;s:10:"*default";N;s:14:"*byReference";b:0;s:13:"*isVariadic";b:0;}s:6:"params";O:43:"phpDocumentor\Descriptor\ArgumentDescriptor":16:{s:8:"*fqsen";N;s:7:"*name";s:6:"params";s:12:"*namespace";s:0:"";s:10:"*package";N;s:10:"*summary";s:0:"";s:14:"*description";r:543;s:17:"*fileDescriptor";N;s:7:"*line";i:432;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:511;s:7:"*type";r:550;s:10:"*default";s:2:"[]";s:14:"*byReference";b:0;s:13:"*isVariadic";b:0;}s:7:"prefill";O:43:"phpDocumentor\Descriptor\ArgumentDescriptor":16:{s:8:"*fqsen";N;s:7:"*name";s:7:"prefill";s:12:"*namespace";s:0:"";s:10:"*package";N;s:10:"*summary";s:0:"";s:14:"*description";r:561;s:17:"*fileDescriptor";N;s:7:"*line";i:432;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:511;s:7:"*type";r:568;s:10:"*default";s:2:"[]";s:14:"*byReference";b:0;s:13:"*isVariadic";b:0;}}}s:53:"phpDocumentor\Descriptor\MethodDescriptorreturnType";O:37:"phpDocumentor\Reflection\Types\Mixed_":0:{}s:63:"phpDocumentor\Descriptor\MethodDescriptorhasReturnByReference";b:0;}s:18:"testElementOptions";O:41:"phpDocumentor\Descriptor\MethodDescriptor":19:{s:8:"*fqsen";O:30:"phpDocumentor\Reflection\Fqsen":2:{s:37:"phpDocumentor\Reflection\Fqsenfqsen";s:47:"\VuFindTest\Form\FormTest::testElementOptions()";s:36:"phpDocumentor\Reflection\Fqsenname";s:18:"testElementOptions";}s:7:"*name";s:18:"testElementOptions";s:12:"*namespace";s:16:"\VuFindTest\Form";s:10:"*package";N;s:10:"*summary";s:47:"Test element options (select, radio, checkbox).";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:448;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:100;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:37:"phpDocumentor\Reflection\Types\Mixed_":0:{}s:63:"phpDocumentor\Descriptor\MethodDescriptorhasReturnByReference";b:0;}s:32:"testElementOptionValueValidators";O:41:"phpDocumentor\Descriptor\MethodDescriptor":19:{s:8:"*fqsen";O:30:"phpDocumentor\Reflection\Fqsen":2:{s:37:"phpDocumentor\Reflection\Fqsenfqsen";s:61:"\VuFindTest\Form\FormTest::testElementOptionValueValidators()";s:36:"phpDocumentor\Reflection\Fqsenname";s:32:"testElementOptionValueValidators";}s:7:"*name";s:32:"testElementOptionValueValidators";s:12:"*namespace";s:16:"\VuFindTest\Form";s:10:"*package";N;s:10:"*summary";s:63:"Test element option value validators (select, radio, checkbox).";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:597;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:100;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:37:"phpDocumentor\Reflection\Types\Mixed_":0:{}s:63:"phpDocumentor\Descriptor\MethodDescriptorhasReturnByReference";b:0;}s:30:"testCheckboxRequiredValidators";O:41:"phpDocumentor\Descriptor\MethodDescriptor":19:{s:8:"*fqsen";O:30:"phpDocumentor\Reflection\Fqsen":2:{s:37:"phpDocumentor\Reflection\Fqsenfqsen";s:59:"\VuFindTest\Form\FormTest::testCheckboxRequiredValidators()";s:36:"phpDocumentor\Reflection\Fqsenname";s:30:"testCheckboxRequiredValidators";}s:7:"*name";s:30:"testCheckboxRequiredValidators";s:12:"*namespace";s:16:"\VuFindTest\Form";s:10:"*package";N;s:10:"*summary";s:68:"Test checkbox element 'required' and 'requireOne' option validators.";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:675;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:100;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:37:"phpDocumentor\Reflection\Types\Mixed_":0:{}s:63:"phpDocumentor\Descriptor\MethodDescriptorhasReturnByReference";b:0;}s:20:"getEmailSubjectsData";O:41:"phpDocumentor\Descriptor\MethodDescriptor":19:{s:8:"*fqsen";O:30:"phpDocumentor\Reflection\Fqsen":2:{s:37:"phpDocumentor\Reflection\Fqsenfqsen";s:49:"\VuFindTest\Form\FormTest::getEmailSubjectsData()";s:36:"phpDocumentor\Reflection\Fqsenname";s:20:"getEmailSubjectsData";}s:7:"*name";s:20:"getEmailSubjectsData";s:12:"*namespace";s:16:"\VuFindTest\Form";s:10:"*package";N;s:10:"*summary";s:39:"Function to get testEmailSubjects data.";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:804;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:100;s:11:"*abstract";b:0;s:8:"*final";b:0;s:9:"*static";b:1;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: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:17:"testEmailSubjects";O:41:"phpDocumentor\Descriptor\MethodDescriptor":19:{s:8:"*fqsen";O:30:"phpDocumentor\Reflection\Fqsen":2:{s:37:"phpDocumentor\Reflection\Fqsenfqsen";s:46:"\VuFindTest\Form\FormTest::testEmailSubjects()";s:36:"phpDocumentor\Reflection\Fqsenname";s:17:"testEmailSubjects";}s:7:"*name";s:17:"testEmailSubjects";s:12:"*namespace";s:16:"\VuFindTest\Form";s:10:"*package";N;s:10:"*summary";s:20:"Test email subjects.";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:828;s:7:"*tags";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:3:{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:23:"ID of the form to test.";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\String_":0:{}s:15:"*variableName";s:10:"formToTest";}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:22:"String to be expected.";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\String_":0:{}s:15:"*variableName";s:15:"expectedSubject";}}}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:12:"dataProvider";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{i:0;O:38:"phpDocumentor\Descriptor\TagDescriptor":3:{s:7:"*name";s:12:"dataProvider";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:20:"getEmailSubjectsData";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:9:"*errors";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:0:{}}s:19:"*inheritedElement";N;s:9:"*parent";r:100;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:2:{s:10:"formToTest";O:43:"phpDocumentor\Descriptor\ArgumentDescriptor":16:{s:8:"*fqsen";N;s:7:"*name";s:10:"formToTest";s:12:"*namespace";s:0:"";s:10:"*package";N;s:10:"*summary";s:0:"";s:14:"*description";r:875;s:17:"*fileDescriptor";N;s:7:"*line";i:828;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:854;s:7:"*type";r:882;s:10:"*default";N;s:14:"*byReference";b:0;s:13:"*isVariadic";b:0;}s:15:"expectedSubject";O:43:"phpDocumentor\Descriptor\ArgumentDescriptor":16:{s:8:"*fqsen";N;s:7:"*name";s:15:"expectedSubject";s:12:"*namespace";s:0:"";s:10:"*package";N;s:10:"*summary";s:0:"";s:14:"*description";r:886;s:17:"*fileDescriptor";N;s:7:"*line";i:828;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:854;s:7:"*type";r:893;s:10:"*default";N;s:14:"*byReference";b:0;s:13:"*isVariadic";b:0;}}}s:53:"phpDocumentor\Descriptor\MethodDescriptorreturnType";O:36:"phpDocumentor\Reflection\Types\Void_":0:{}s:63:"phpDocumentor\Descriptor\MethodDescriptorhasReturnByReference";b:0;}s:11:"testPrefill";O:41:"phpDocumentor\Descriptor\MethodDescriptor":19:{s:8:"*fqsen";O:30:"phpDocumentor\Reflection\Fqsen":2:{s:37:"phpDocumentor\Reflection\Fqsenfqsen";s:40:"\VuFindTest\Form\FormTest::testPrefill()";s:36:"phpDocumentor\Reflection\Fqsenname";s:11:"testPrefill";}s:7:"*name";s:11:"testPrefill";s:12:"*namespace";s:16:"\VuFindTest\Form";s:10:"*package";N;s:10:"*summary";s:57:"Test prefilling values for inputs from form 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:852;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:100;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:26:"testPrefillProtectedFields";O:41:"phpDocumentor\Descriptor\MethodDescriptor":19:{s:8:"*fqsen";O:30:"phpDocumentor\Reflection\Fqsen":2:{s:37:"phpDocumentor\Reflection\Fqsenfqsen";s:55:"\VuFindTest\Form\FormTest::testPrefillProtectedFields()";s:36:"phpDocumentor\Reflection\Fqsenname";s:26:"testPrefillProtectedFields";}s:7:"*name";s:26:"testPrefillProtectedFields";s:12:"*namespace";s:16:"\VuFindTest\Form";s:10:"*package";N;s:10:"*summary";s:43:"Test protecting fields from being prefilled";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:917;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:100;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:13:"*usedTraits";O:35:"phpDocumentor\Descriptor\Collection":1:{s:8:"*items";a:1:{s:32:"\VuFindTest\Feature\FixtureTrait";O:30:"phpDocumentor\Reflection\Fqsen":2:{s:37:"phpDocumentor\Reflection\Fqsenfqsen";s:32:"\VuFindTest\Feature\FixtureTrait";s:36:"phpDocumentor\Reflection\Fqsenname";s:12:"FixtureTrait";}}}}}}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:{}}}