<?php declare(strict_types=1); namespace RssBridge\Tests; use BridgeCard; use PHPUnit\Framework\TestCase; class BridgeCardTest extends TestCase { public function test() { $sut = new BridgeCard(); $this->assertSame('', BridgeCard::getInputAttributes([])); $this->assertSame(' required pattern="\d+"', BridgeCard::getInputAttributes(['required' => true, 'pattern' => '\d+'])); $entry = [ 'defaultValue' => 'checked', ]; $this->assertSame('<input id="id" type="checkbox" name="name" checked />' . "\n", BridgeCard::getCheckboxInput($entry, 'id', 'name')); $entry = [ 'defaultValue' => 42, 'exampleValue' => 43, ]; $this->assertSame('<input id="id" type="number" value="42" placeholder="43" name="name" />' . "\n", BridgeCard::getNumberInput($entry, 'id', 'name')); $entry = [ 'defaultValue' => 'yo1', 'exampleValue' => 'yo2', ]; $this->assertSame('<input id="id" type="text" value="yo1" placeholder="yo2" name="name" />', BridgeCard::getTextInput($entry, 'id', 'name')); $entry = [ 'values' => [], ]; $this->assertSame('<select id="id" name="name" >' . "\n" . '</select>', BridgeCard::getListInput($entry, 'id', 'name')); $entry = [ 'defaultValue' => 2, 'values' => [ 'foo' => 'bar', ], ]; $this->assertSame('<select id="id" name="name" >' . "\n" . '<option value="bar">foo</option>' . "\n" . '</select>', BridgeCard::getListInput($entry, 'id', 'name')); // optgroup $entry = [ 'defaultValue' => 2, 'values' => ['kek' => [ 'f' => 'b', ]], ]; $this->assertSame( '<select id="id" name="name" >' . "\n" . '<optgroup label="kek"><option value="b">f</option></optgroup></select>', BridgeCard::getListInput($entry, 'id', 'name') ); } }