'input', 'subtype' => 'text', 'attributes' => [ 'id' => 'testId', 'name' => 'testName', 'type' => 'text', ], 'default' => [ 'value' => 'testValue', ], ]; self::assertEquals( '', FormElementGenerator::generate($element) ); } /** * @testdox A text input element can be generated with a custom value * @covers phpOMS\Model\Html\FormElementGenerator * @group framework */ public function testGenerateTextInputWithValue() : void { $element = [ 'type' => 'input', 'subtype' => 'text', 'attributes' => [ 'id' => 'testId', 'name' => 'testName', 'type' => 'text', ], 'default' => [ 'value' => 'testValue', ], ]; self::assertEquals( '', FormElementGenerator::generate($element, 'manualValue') ); } /** * @testdox A datetime input element can be generated with custom formatting * @covers phpOMS\Model\Html\FormElementGenerator * @group framework */ public function testGenerateDateTimeInput() : void { $element = [ 'type' => 'input', 'subtype' => 'datetime', 'attributes' => [ 'id' => 'testId', 'name' => 'testName', 'type' => 'datetime', ], 'default' => [ "value" => "2019-02-03 01:23", "format" => "Y-m-d", ], ]; self::assertEquals( '', FormElementGenerator::generate($element) ); } /** * @testdox A checkbox element can be generated * @covers phpOMS\Model\Html\FormElementGenerator * @group framework */ public function testGenerateCheckboxInput() : void { $element = [ 'type' => 'input', 'subtype' => 'checkbox', 'attributes' => [ 'id' => 'testId', 'name' => 'testName', 'type' => 'checkbox', ], 'default' => [ 'value' => 'testValue', 'checked' => true, 'content' => 'testContent', ], ]; self::assertEquals( '', FormElementGenerator::generate($element) ); } /** * @testdox A checkbox element can be generated with a localized label element * @covers phpOMS\Model\Html\FormElementGenerator * @group framework */ public function testGenerateCheckboxWithLanguageInput() : void { $element = [ 'type' => 'input', 'subtype' => 'checkbox', 'attributes' => [ 'id' => 'testId', 'name' => 'testName', 'type' => 'checkbox', ], 'default' => [ 'value' => 'testValue', 'checked' => false, 'content' => 'testContent', ], ]; self::assertEquals( '', FormElementGenerator::generate($element, null, ['testContent' => 'langContent']) ); } /** * @testdox A radio element can be generated * @covers phpOMS\Model\Html\FormElementGenerator * @group framework */ public function testGenerateRadioInput() : void { $element = [ 'type' => 'input', 'subtype' => 'radio', 'attributes' => [ 'id' => 'testId', 'name' => 'testName', 'type' => 'radio', ], 'default' => [ 'value' => 'testValue', 'checked' => true, 'content' => 'testContent', ], ]; self::assertEquals( '', FormElementGenerator::generate($element) ); } /** * @testdox A radio element can be generated with a localized label element * @covers phpOMS\Model\Html\FormElementGenerator * @group framework */ public function testGenerateRadioWithLanguageInput() : void { $element = [ 'type' => 'input', 'subtype' => 'radio', 'attributes' => [ 'id' => 'testId', 'name' => 'testName', 'type' => 'radio', ], 'default' => [ 'value' => 'testValue', 'checked' => false, 'content' => 'testContent', ], ]; self::assertEquals( '', FormElementGenerator::generate($element, null, ['testContent' => 'langContent']) ); } /** * @testdox A label element can be generated * @covers phpOMS\Model\Html\FormElementGenerator * @group framework */ public function testGenerateLabel() : void { $element = [ 'type' => 'label', 'attributes' => [ 'for' => 'testId', ], 'default' => [ 'value' => 'testValue', ], ]; self::assertEquals( '', FormElementGenerator::generate($element) ); } /** * @testdox A localized label element can be generated * @covers phpOMS\Model\Html\FormElementGenerator * @group framework */ public function testGenerateWithLanguageLabel() : void { $element = [ 'type' => 'label', 'attributes' => [ 'for' => 'testId', ], 'default' => [ 'value' => 'testValue', ], ]; self::assertEquals( '', FormElementGenerator::generate($element, null, ['testValue' => 'langValue']) ); } /** * @testdox A textarea element can be generated * @covers phpOMS\Model\Html\FormElementGenerator * @group framework */ public function testGenerateTextarea() : void { $element = [ 'type' => 'textarea', 'attributes' => [ 'id' => 'testId', 'name' => 'testName', ], 'default' => [ 'value' => 'testValue', ], ]; self::assertEquals( '', FormElementGenerator::generate($element) ); } /** * @testdox A textarea element can be generated with a custom value * @covers phpOMS\Model\Html\FormElementGenerator * @group framework */ public function testGenerateWithValueTextarea() : void { $element = [ 'type' => 'textarea', 'attributes' => [ 'id' => 'testId', 'name' => 'testName', ], 'default' => [ 'value' => 'testValue', ], ]; self::assertEquals( '', FormElementGenerator::generate($element, 'manualValue') ); } /** * @testdox A select element can be generated * @covers phpOMS\Model\Html\FormElementGenerator * @group framework */ public function testGenerateSelect() : void { $element = [ 'type' => 'select', 'attributes' => [ 'id' => 'testId', 'name' => 'testName', ], 'options' => [ 'option1' => 'value1', 'option2' => 'value2', 'option3' => 'value3', ], 'default' => [ 'value' => 'option2', ], ]; self::assertEquals( '', FormElementGenerator::generate($element) ); } /** * @testdox A localized select element can be generated * @covers phpOMS\Model\Html\FormElementGenerator * @group framework */ public function testGenerateWithLanguageSelect() : void { $element = [ 'type' => 'select', 'attributes' => [ 'id' => 'testId', 'name' => 'testName', ], 'options' => [ 'option1' => 'value1', 'option2' => 'value2', 'option3' => 'value3', ], 'default' => [ 'value' => 'option2', ], ]; self::assertEquals( '', FormElementGenerator::generate($element, null, ['value2' => 'lang2']) ); } /** * @testdox A missing or invalid element type generates a INVALID output * @covers phpOMS\Model\Html\FormElementGenerator * @group framework */ public function testInvalidElementType() : void { self::assertEquals( 'INVALID', FormElementGenerator::generate([]) ); self::assertEquals( 'INVALID', FormElementGenerator::generate(['type' => 'somethingInvalid']) ); } }