Skip to content
This repository was archived by the owner on Feb 26, 2018. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
"license": "MIT",
"require": {
"php": ">=5.4.0",
"adamwathan/form": "^0.8"
"adamwathan/form": "dev-aw-html5-boolean-attributes"
},
"require-dev": {
"phpunit/phpunit": "3.7.*",
Expand Down
28 changes: 22 additions & 6 deletions src/AdamWathan/BootForms/BasicFormBuilder.php
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,11 @@ protected function wrap($group)

public function text($label, $name, $value = null)
{
$control = $this->builder->text($name)->value($value);
$control = $this->builder->text($name);

if ($value !== null) {
$control->value($value);
}

return $this->formGroup($label, $name, $control);
}
Expand Down Expand Up @@ -129,23 +133,34 @@ public function textarea($label, $name)

public function date($label, $name, $value = null)
{
$control = $this->builder->date($name)->value($value);
$control = $this->builder->date($name);

if ($value !== null) {
$control->value($value);
}

return $this->formGroup($label, $name, $control);
}

public function email($label, $name, $value = null)
{
$control = $this->builder->email($name)->value($value);
$control = $this->builder->email($name);

if ($value !== null) {
$control->value($value);
}

return $this->formGroup($label, $name, $control);
}

public function file($label, $name, $value = null)
{
$control = $this->builder->file($name)->value($value);
$control = $this->builder->file($name)->id($name);
$label = $this->builder->label($label, $name)->addClass('control-label')->forId($name);
$control->id($name);

if ($value !== null) {
$control->value($value);
}

$formGroup = new FormGroup($label, $control);

Expand All @@ -160,7 +175,8 @@ public function file($label, $name, $value = null)
public function inputGroup($label, $name, $value = null)
{
$control = new InputGroup($name);
if (!is_null($value) || !is_null($value = $this->getValueFor($name))) {

if ($value !== null || ($value = $this->getValueFor($name)) !== null) {
$control->value($value);
}

Expand Down
6 changes: 4 additions & 2 deletions src/AdamWathan/BootForms/HorizontalFormBuilder.php
Original file line number Diff line number Diff line change
Expand Up @@ -114,13 +114,15 @@ public function radio($label, $name, $value = null)

public function file($label, $name, $value = null)
{
$control = $this->builder->file($name)->value($value);
$control = $this->builder->file($name)->id($name);
$label = $this->builder->label($label, $name)
->addClass($this->getLabelClass())
->addClass('control-label')
->forId($name);

$control->id($name);
if ($value !== null) {
$control->value($value);
}

$formGroup = new HorizontalFormGroup($label, $control, $this->getControlSizes());

Expand Down
16 changes: 8 additions & 8 deletions tests/BasicFormBuilderTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -254,14 +254,14 @@ public function testRenderCheckboxWithOldInput()

$this->builder->setOldInputProvider($oldInput);

$expected = '<div class="checkbox"><label class="control-label"><input type="checkbox" name="terms" value="1" checked="checked">Agree to Terms</label></div>';
$expected = '<div class="checkbox"><label class="control-label"><input type="checkbox" name="terms" value="1" checked>Agree to Terms</label></div>';
$result = $this->form->checkbox('Agree to Terms', 'terms')->render();
$this->assertEquals($expected, $result);
}

public function testRenderCheckboxChecked()
{
$expected = '<div class="checkbox"><label class="control-label"><input type="checkbox" name="terms" value="1" checked="checked">Agree to Terms</label></div>';
$expected = '<div class="checkbox"><label class="control-label"><input type="checkbox" name="terms" value="1" checked>Agree to Terms</label></div>';
$result = $this->form->checkbox('Agree to Terms', 'terms')->check()->render();
$this->assertEquals($expected, $result);
}
Expand Down Expand Up @@ -293,7 +293,7 @@ public function testRenderRadioWithOldInput()

$this->builder->setOldInputProvider($oldInput);

$expected = '<div class="radio"><label class="control-label"><input type="radio" name="color" value="red" checked="checked">Red</label></div>';
$expected = '<div class="radio"><label class="control-label"><input type="radio" name="color" value="red" checked>Red</label></div>';
$result = $this->form->radio('Red', 'color', 'red')->render();
$this->assertEquals($expected, $result);
}
Expand Down Expand Up @@ -352,7 +352,7 @@ public function testRenderInlineCheckboxFallback()

public function testRenderInlineCheckboxFallbackWithChaining()
{
$expected = '<label class="checkbox-inline"><input type="checkbox" name="DJ" value="meal" chain="link" checked="checked">Checkit!</label>';
$expected = '<label class="checkbox-inline"><input type="checkbox" name="DJ" value="meal" chain="link" checked>Checkit!</label>';
$result = $this->form->inlineCheckbox('Checkit!', 'DJ')->value('meal')->chain('link')->check()->render();
$this->assertEquals($expected, $result);
}
Expand All @@ -366,7 +366,7 @@ public function testRenderInlineCheckboxModifier()

public function testRenderInlineCheckboxModifierWithChaining()
{
$expected = '<label class="checkbox-inline"><input type="checkbox" name="DJ" value="meal" chain="link" checked="checked">Checkit!</label>';
$expected = '<label class="checkbox-inline"><input type="checkbox" name="DJ" value="meal" chain="link" checked>Checkit!</label>';
$result = $this->form->checkbox('Checkit!', 'DJ')->inline()->value('meal')->chain('link')->check()->render();
$this->assertEquals($expected, $result);
}
Expand All @@ -380,7 +380,7 @@ public function testRenderInlineRadioFallback()

public function testRenderInlineRadioFallbackWithChaining()
{
$expected = '<label class="radio-inline"><input type="radio" name="colour" value="Canada Red" chain="link" checked="checked">Canada Red</label>';
$expected = '<label class="radio-inline"><input type="radio" name="colour" value="Canada Red" chain="link" checked>Canada Red</label>';
$result = $this->form->inlineRadio('Canada Red', 'colour')->chain('link')->check()->render();
$this->assertEquals($expected, $result);
}
Expand All @@ -394,14 +394,14 @@ public function testRenderInlineRadioModifier()

public function testRenderInlineRadioModifierWithChaining()
{
$expected = '<label class="radio-inline"><input type="radio" name="colour" value="Canada Red" chain="link" checked="checked">Canada Red</label>';
$expected = '<label class="radio-inline"><input type="radio" name="colour" value="Canada Red" chain="link" checked>Canada Red</label>';
$result = $this->form->radio('Canada Red', 'colour')->inline()->chain('link')->check()->render();
$this->assertEquals($expected, $result);
}

public function testRenderInlineModifierOnUnsupportedElement()
{
$expected = '<div class="form-group"><label class="control-label" for="name">Name</label><input type="text" name="name" id="name" class="form-control" inline="inline"></div>';
$expected = '<div class="form-group"><label class="control-label" for="name">Name</label><input type="text" name="name" id="name" class="form-control" inline></div>';
$result = $this->form->text('Name', 'name')->inline()->render();
$this->assertEquals($expected, $result);
}
Expand Down
6 changes: 3 additions & 3 deletions tests/HorizontalFormBuilderTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -248,14 +248,14 @@ public function testRenderCheckboxWithOldInput()

$this->builder->setOldInputProvider($oldInput);

$expected = '<div class="form-group"><div class="col-lg-offset-2 col-lg-10"><div class="checkbox"><label><input type="checkbox" name="terms" value="1" checked="checked">Agree to Terms</label></div></div></div>';
$expected = '<div class="form-group"><div class="col-lg-offset-2 col-lg-10"><div class="checkbox"><label><input type="checkbox" name="terms" value="1" checked>Agree to Terms</label></div></div></div>';
$result = $this->form->checkbox('Agree to Terms', 'terms')->render();
$this->assertEquals($expected, $result);
}

public function testRenderCheckboxChecked()
{
$expected = '<div class="form-group"><div class="col-lg-offset-2 col-lg-10"><div class="checkbox"><label><input type="checkbox" name="terms" value="1" checked="checked">Agree to Terms</label></div></div></div>';
$expected = '<div class="form-group"><div class="col-lg-offset-2 col-lg-10"><div class="checkbox"><label><input type="checkbox" name="terms" value="1" checked>Agree to Terms</label></div></div></div>';
$result = $this->form->checkbox('Agree to Terms', 'terms')->check()->render();
$this->assertEquals($expected, $result);
}
Expand Down Expand Up @@ -294,7 +294,7 @@ public function testRenderRadioWithOldInput()

$this->builder->setOldInputProvider($oldInput);

$expected = '<div class="form-group"><div class="col-lg-offset-2 col-lg-10"><div class="radio"><label><input type="radio" name="color" value="red" checked="checked">Red</label></div></div></div>';
$expected = '<div class="form-group"><div class="col-lg-offset-2 col-lg-10"><div class="radio"><label><input type="radio" name="color" value="red" checked>Red</label></div></div></div>';
$result = $this->form->radio('Red', 'color', 'red')->render();
$this->assertEquals($expected, $result);
}
Expand Down
6 changes: 0 additions & 6 deletions tests/InputGroupTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -42,12 +42,6 @@ public function testCanRenderWithValue()
$expected = '<div class="input-group"><input type="text" name="test" value="abc"></div>';
$result = $input->render();
$this->assertEquals($expected, $result);

$input = new InputGroup('test');
$input = $input->value(null);
$expected = '<div class="input-group"><input type="text" name="test"></div>';
$result = $input->render();
$this->assertEquals($expected, $result);
}

public function testDefaultValue()
Expand Down