Beispiel #1
0
 /**
  * @test
  * @author Johannes Künsebeck <*****@*****.**>
  */
 public function multipleSelectOnDomainObjectsCreatesExpectedOptionsWithoutOptionValueField()
 {
     $mockPersistenceManager = $this->getMock('TYPO3\\CMS\\Extbase\\Persistence\\Generic\\ManagerInterface');
     $mockBackend = $this->getMock('TYPO3\\CMS\\Extbase\\Persistence\\Generic\\Backend', array('getIdentifierByObject'), array(), '', FALSE);
     $mockBackend->expects($this->any())->method('getIdentifierByObject')->will($this->returnCallback(function ($object) {
         return $object->getId();
     }));
     $mockPersistenceManager->expects($this->any())->method('getBackend')->will($this->returnValue($mockBackend));
     $this->viewHelper->injectPersistenceManager($mockPersistenceManager);
     $this->tagBuilder = new \TYPO3\Fluid\Core\ViewHelper\TagBuilder();
     $this->viewHelper->expects($this->exactly(3))->method('registerFieldNameForFormTokenGeneration')->with('myName[]');
     $user_is = new \TYPO3\Fluid\Tests\Unit\ViewHelpers\Form\Fixtures\Fixture_UserDomainClass(1, 'Ingmar', 'Schlecht');
     $user_sk = new \TYPO3\Fluid\Tests\Unit\ViewHelpers\Form\Fixtures\Fixture_UserDomainClass(2, 'Sebastian', 'Kurfuerst');
     $user_rl = new \TYPO3\Fluid\Tests\Unit\ViewHelpers\Form\Fixtures\Fixture_UserDomainClass(3, 'Robert', 'Lemke');
     $this->arguments['options'] = array($user_is, $user_sk, $user_rl);
     $this->arguments['value'] = array($user_rl, $user_is);
     $this->arguments['optionLabelField'] = 'lastName';
     $this->arguments['name'] = 'myName';
     $this->arguments['multiple'] = 'multiple';
     $this->injectDependenciesIntoViewHelper($this->viewHelper);
     $this->viewHelper->initializeArguments();
     $this->viewHelper->initialize();
     $actual = $this->viewHelper->render();
     $expected = '<input type="hidden" name="myName" value="" />' . '<select multiple="multiple" name="myName[]">' . '<option value="1" selected="selected">Schlecht</option>' . chr(10) . '<option value="2">Kurfuerst</option>' . chr(10) . '<option value="3" selected="selected">Lemke</option>' . chr(10) . '</select>';
     $this->assertSame($expected, $actual);
 }
 /**
  * Initialize arguments.
  *
  * @return void
  * @api
  */
 public function initializeArguments()
 {
     parent::initializeArguments();
     $this->registerArgument('disableOptions', 'array', 'Array whose values specify keys of the "options" argument which should get disabled.', FALSE);
 }