Permalink
Browse files

adding test case

  • Loading branch information...
dereuromark committed Oct 23, 2012
1 parent 9a9ac6f commit 5064601c6f3b02c4a30c2e989f3fd67d8962f0bf
Showing with 29 additions and 1 deletion.
  1. +23 −0 lib/Cake/Test/Case/View/Helper/FormHelperTest.php
  2. +6 −1 lib/Cake/View/Helper/FormHelper.php
@@ -2650,6 +2650,29 @@ public function testInputWithMatchingFieldAndModelName() {
'/div'
);
$this->assertTags($result, $expected);
+
+ $this->View->viewVars['balances'] = array(0 => 'nothing', 1 => 'some', 100 => 'a lot');
+ $this->Form->request->data = array('ValidateUser' => array('balance' => 1));
+ $result = $this->Form->input('ValidateUser.balance');
+ $expected = array(
+ 'div' => array('class' => 'input select'),
+ 'label' => array('for' => 'ValidateUserBalance'),
+ 'Balance',
+ '/label',
+ 'select' => array('name' => 'data[ValidateUser][balance]', 'id' => 'ValidateUserBalance'),
+ array('option' => array('value' => '0')),
+ 'nothing',
+ '/option',
+ array('option' => array('value' => '1', 'selected' => 'selected')),
+ 'some',
+ '/option',
+ array('option' => array('value' => '100')),
+ 'a lot',
+ '/option',
+ '/select',
+ '/div'
+ );
+ $this->assertTags($result, $expected);
}
/**
@@ -1006,12 +1006,17 @@ public function input($fieldName, $options = array()) {
}
$options['options'] = $varOptions;
}
+
+ if ($options['type'] === 'select' && array_key_exists('step', $options)) {
+ unset($options['step']);
+ }
}
$autoLength = (
!array_key_exists('maxlength', $options) &&
isset($fieldDef['length']) &&
- is_scalar($fieldDef['length'])
+ is_scalar($fieldDef['length']) &&
+ $options['type'] !== 'select'
);
if ($autoLength && $options['type'] == 'text') {
$options['maxlength'] = $fieldDef['length'];

0 comments on commit 5064601

Please sign in to comment.