'', ]; $this->templates = new StringTemplate($templates); } /** * Test rendering simple checkboxes. * * @return void */ public function testRenderSimple() { $checkbox = new Checkbox($this->templates); $data = [ 'name' => 'Comment[spam]', ]; $result = $checkbox->render($data); $expected = [ 'input' => [ 'type' => 'checkbox', 'name' => 'Comment[spam]', 'value' => 1, ] ]; $this->assertTags($result, $expected); $data = [ 'name' => 'Comment[spam]', 'value' => 99, ]; $result = $checkbox->render($data); $expected = [ 'input' => [ 'type' => 'checkbox', 'name' => 'Comment[spam]', 'value' => 99, ] ]; $this->assertTags($result, $expected); } /** * Test rendering disabled checkboxes. * * @return void */ public function testRenderDisabled() { $checkbox = new Checkbox($this->templates); $data = [ 'name' => 'Comment[spam]', 'disabled' => true, ]; $result = $checkbox->render($data); $expected = [ 'input' => [ 'type' => 'checkbox', 'name' => 'Comment[spam]', 'value' => 1, 'disabled' => 'disabled', ] ]; $this->assertTags($result, $expected); } /** * Test rendering checked checkboxes. * * @return void */ public function testRenderChecked() { $checkbox = new Checkbox($this->templates); $data = [ 'name' => 'Comment[spam]', 'value' => 1, 'checked' => 1, ]; $result = $checkbox->render($data); $expected = [ 'input' => [ 'type' => 'checkbox', 'name' => 'Comment[spam]', 'value' => 1, 'checked' => 'checked', ] ]; $this->assertTags($result, $expected); $data = [ 'name' => 'Comment[spam]', 'value' => 1, 'val' => 1, ]; $result = $checkbox->render($data); $this->assertTags($result, $expected); $data['val'] = '1'; $result = $checkbox->render($data); $this->assertTags($result, $expected); $data = [ 'name' => 'Comment[spam]', 'value' => 1, 'val' => '1x', ]; $result = $checkbox->render($data); $expected = [ 'input' => [ 'type' => 'checkbox', 'name' => 'Comment[spam]', 'value' => 1, ] ]; $this->assertTags($result, $expected); } /** * Test rendering checked checkboxes with value. * * @return void */ public function testRenderCheckedValue() { $checkbox = new Checkbox($this->templates); $data = [ 'name' => 'Comment[spam]', 'value' => 1, 'checked' => 1, ]; $result = $checkbox->render($data); $expected = [ 'input' => [ 'type' => 'checkbox', 'name' => 'Comment[spam]', 'value' => 1, 'checked' => 'checked', ] ]; $this->assertTags($result, $expected); } }