Пример #1
0
 public function testFromArrayCallback()
 {
     $mock = new MockLayout();
     $form = Form::create('id', function ($f) {
         $f->select('foo', 'label', FormOptions::fromArrayCallback(['a', 'b', 'c'], function ($x) {
             return [$x, $x];
         }));
     }, ['layout' => $mock]);
     $this->assertArrayHasKey('foo', $mock->field);
     $this->assertInstanceOf('NitroXy\\PHPForms\\FormSelect', $mock->field['foo']);
     $options = $mock->field['foo']->getOptions();
     $this->assertCount(3, $options);
     $this->assertEquals(['value' => 'a', 'label' => 'a'], (array) $options[0]);
     $this->assertEquals(['value' => 'b', 'label' => 'b'], (array) $options[1]);
     $this->assertEquals(['value' => 'c', 'label' => 'c'], (array) $options[2]);
 }