Add default values support for form types

Adding displaying default value in Markdown

updating tests to work with new default value
This commit is contained in:
Jonathan Chan 2014-06-17 03:15:55 -04:00
parent ea2201762d
commit d4e12d66f2
7 changed files with 129 additions and 4 deletions

View File

@ -73,6 +73,7 @@ abstract class AbstractFormatter implements FormatterInterface
'dataType' => $info['dataType'],
'readonly' => array_key_exists('readonly', $info) ? $info['readonly'] : null,
'required' => $info['required'],
'default' => array_key_exists('default', $info) ? $info['default'] : null,
'description' => array_key_exists('description', $info) ? $info['description'] : null,
'format' => array_key_exists('format', $info) ? $info['format'] : null,
'sinceVersion' => array_key_exists('sinceVersion', $info) ? $info['sinceVersion'] : null,

View File

@ -86,6 +86,9 @@ class MarkdownFormatter extends AbstractFormatter
if (isset($parameter['description']) && !empty($parameter['description'])) {
$markdown .= sprintf(" * description: %s\n", $parameter['description']);
}
if (isset($parameter['default']) && !empty($parameter['default'])) {
$markdown .= sprintf(" * default value: %s\n", $parameter['default']);
}
$markdown .= "\n";
}

View File

@ -96,6 +96,7 @@ class FormTypeParser implements ParserInterface
foreach ($form as $name => $child) {
$config = $child->getConfig();
if ($prefix) {
$name = sprintf('%s[%s]', $prefix, $name);
}
@ -148,6 +149,7 @@ class FormTypeParser implements ParserInterface
$parameters[$name] = array(
'dataType' => 'string',
'actualType' => 'string',
'default' => $config->getData(),
'required' => $config->getRequired(),
'description' => $config->getAttribute('description'),
'readonly' => $config->getDisabled(),
@ -163,6 +165,7 @@ class FormTypeParser implements ParserInterface
'dataType' => $bestType,
'actualType' => $actualType,
'subType' => $subType,
'default' => $config->getData(),
'required' => $config->getRequired(),
'description' => $config->getAttribute('description'),
'readonly' => $config->getDisabled(),

View File

@ -26,6 +26,7 @@ class TestType extends AbstractType
->add('a', null, array('description' => 'A nice description'))
->add('b')
->add($builder->create('c', 'checkbox'))
->add('d','text',array( 'data' => 'DefaultTest'))
;
}

View File

@ -97,6 +97,12 @@ c:
* type: boolean
* required: true
d:
* type: string
* required: true
* default value: DefaultTest
### `POST` /tests.{_format} ###
@ -125,6 +131,12 @@ c:
* type: boolean
* required: true
d:
* type: string
* required: true
* default value: DefaultTest
## /tests2 ##
@ -523,6 +535,12 @@ c:
* type: boolean
* required: true
d:
* type: string
* required: true
* default value: DefaultTest
### `ANY` /z-return-selected-parsers-output ###

View File

@ -111,6 +111,7 @@ class SimpleFormatterTest extends WebTestCase
'dataType' => 'string',
'actualType' => DataTypes::STRING,
'subType' => null,
'default' => null,
'required' => true,
'description' => 'A nice description',
'readonly' => false,
@ -119,6 +120,7 @@ class SimpleFormatterTest extends WebTestCase
'dataType' => 'string',
'actualType' => DataTypes::STRING,
'subType' => null,
'default' => null,
'required' => false,
'description' => '',
'readonly' => false,
@ -127,6 +129,16 @@ class SimpleFormatterTest extends WebTestCase
'dataType' => 'boolean',
'actualType' => DataTypes::BOOLEAN,
'subType' => null,
'default' => null,
'required' => true,
'description' => '',
'readonly' => false,
),
'd' => array(
'dataType' => 'string',
'actualType' => DataTypes::STRING,
'subType' => null,
'default' => "DefaultTest",
'required' => true,
'description' => '',
'readonly' => false,
@ -158,6 +170,7 @@ class SimpleFormatterTest extends WebTestCase
'dataType' => 'string',
'actualType' => DataTypes::STRING,
'subType' => null,
'default' => null,
'required' => true,
'description' => 'A nice description',
'readonly' => false,
@ -166,6 +179,7 @@ class SimpleFormatterTest extends WebTestCase
'dataType' => 'string',
'actualType' => DataTypes::STRING,
'subType' => null,
'default' => null,
'required' => false,
'description' => '',
'readonly' => false,
@ -174,6 +188,16 @@ class SimpleFormatterTest extends WebTestCase
'dataType' => 'boolean',
'actualType' => DataTypes::BOOLEAN,
'subType' => null,
'default' => null,
'required' => true,
'description' => '',
'readonly' => false,
),
'd' => array(
'dataType' => 'string',
'actualType' => DataTypes::STRING,
'subType' => null,
'default' => "DefaultTest",
'required' => true,
'description' => '',
'readonly' => false,
@ -208,6 +232,7 @@ class SimpleFormatterTest extends WebTestCase
'dataType' => 'string',
'actualType' => DataTypes::STRING,
'subType' => null,
'default' => null,
'required' => true,
'description' => 'A nice description',
'readonly' => false,
@ -509,6 +534,7 @@ With multiple lines.',
'dataType' => 'string',
'actualType' => DataTypes::STRING,
'subType' => null,
'default' => null,
'required' => true,
'description' => 'A nice description',
'readonly' => false,
@ -997,6 +1023,7 @@ With multiple lines.',
'dataType' => 'string',
'actualType' => DataTypes::STRING,
'subType' => null,
'default' => null,
'required' => true,
'description' => 'A nice description',
'readonly' => false,
@ -1005,6 +1032,7 @@ With multiple lines.',
'dataType' => 'string',
'actualType' => DataTypes::STRING,
'subType' => null,
'default' => null,
'required' => false,
'description' => '',
'readonly' => false,
@ -1013,6 +1041,16 @@ With multiple lines.',
'dataType' => 'boolean',
'actualType' => DataTypes::BOOLEAN,
'subType' => null,
'default' => null,
'required' => true,
'description' => '',
'readonly' => false,
),
'd' => array(
'dataType' => 'string',
'actualType' => DataTypes::STRING,
'subType' => null,
'default' => "DefaultTest",
'required' => true,
'description' => '',
'readonly' => false,

View File

@ -42,7 +42,8 @@ class FormTypeParserTest extends \PHPUnit_Framework_TestCase
'subType' => null,
'required' => true,
'description' => 'A nice description',
'readonly' => false
'readonly' => false,
'default' => null
),
'b' => array(
'dataType' => 'string',
@ -50,7 +51,8 @@ class FormTypeParserTest extends \PHPUnit_Framework_TestCase
'subType' => null,
'required' => true,
'description' => '',
'readonly' => false
'readonly' => false,
'default' => null
),
'c' => array(
'dataType' => 'boolean',
@ -58,7 +60,17 @@ class FormTypeParserTest extends \PHPUnit_Framework_TestCase
'subType' => null,
'required' => true,
'description' => '',
'readonly' => false
'readonly' => false,
'default' => null
),
'd' => array(
'dataType' => 'string',
'actualType' => DataTypes::STRING,
'subType' => null,
'required' => true,
'description' => '',
'readonly' => false,
'default' => "DefaultTest"
)
)
),
@ -68,15 +80,16 @@ class FormTypeParserTest extends \PHPUnit_Framework_TestCase
'collection_type[a]' => array(
'dataType' => 'array of strings',
'actualType' => DataTypes::COLLECTION,
'subType' => DataTypes::STRING,
'required' => true,
'description' => '',
'default' => null,
'readonly' => false
),
'collection_type[b][][a]' => array(
'dataType' => 'string',
'actualType' => DataTypes::STRING,
'default' => null,
'subType' => null,
'required' => true,
'description' => 'A nice description',
@ -86,6 +99,7 @@ class FormTypeParserTest extends \PHPUnit_Framework_TestCase
'dataType' => 'string',
'actualType' => DataTypes::STRING,
'subType' => null,
'default' => null,
'required' => true,
'description' => '',
'readonly' => false
@ -93,6 +107,16 @@ class FormTypeParserTest extends \PHPUnit_Framework_TestCase
'collection_type[b][][c]' => array(
'dataType' => 'boolean',
'actualType' => DataTypes::BOOLEAN,
'default' => null,
'subType' => null,
'required' => true,
'description' => '',
'readonly' => false
),
'collection_type[b][][d]' => array(
'dataType' => 'string',
'actualType' => DataTypes::STRING,
'default' => "DefaultTest",
'subType' => null,
'required' => true,
'description' => '',
@ -109,6 +133,7 @@ class FormTypeParserTest extends \PHPUnit_Framework_TestCase
'a' => array(
'dataType' => 'array of strings',
'actualType' => DataTypes::COLLECTION,
'default' => null,
'subType' => DataTypes::STRING,
'required' => true,
'description' => '',
@ -117,6 +142,7 @@ class FormTypeParserTest extends \PHPUnit_Framework_TestCase
'b[][a]' => array(
'dataType' => 'string',
'actualType' => DataTypes::STRING,
'default' => null,
'subType' => null,
'required' => true,
'description' => 'A nice description',
@ -125,6 +151,7 @@ class FormTypeParserTest extends \PHPUnit_Framework_TestCase
'b[][b]' => array(
'dataType' => 'string',
'actualType' => DataTypes::STRING,
'default' => null,
'subType' => null,
'required' => true,
'description' => '',
@ -133,10 +160,20 @@ class FormTypeParserTest extends \PHPUnit_Framework_TestCase
'b[][c]' => array(
'dataType' => 'boolean',
'actualType' => DataTypes::BOOLEAN,
'default' => null,
'subType' => null,
'required' => true,
'description' => '',
'readonly' => false
),
'b[][d]' => array(
'dataType' => 'string',
'actualType' => DataTypes::STRING,
'subType' => null,
'default' => "DefaultTest",
'required' => true,
'description' => '',
'readonly' => false
)
)
),
@ -150,6 +187,7 @@ class FormTypeParserTest extends \PHPUnit_Framework_TestCase
'dataType' => 'array of strings',
'actualType' => DataTypes::COLLECTION,
'subType' => DataTypes::STRING,
'default' => null,
'required' => true,
'description' => '',
'readonly' => false
@ -158,6 +196,7 @@ class FormTypeParserTest extends \PHPUnit_Framework_TestCase
'dataType' => 'string',
'actualType' => DataTypes::STRING,
'subType' => null,
'default' => null,
'required' => true,
'description' => 'A nice description',
'readonly' => false
@ -166,6 +205,7 @@ class FormTypeParserTest extends \PHPUnit_Framework_TestCase
'dataType' => 'string',
'actualType' => DataTypes::STRING,
'subType' => null,
'default' => null,
'required' => true,
'description' => '',
'readonly' => false
@ -174,6 +214,16 @@ class FormTypeParserTest extends \PHPUnit_Framework_TestCase
'dataType' => 'boolean',
'actualType' => DataTypes::BOOLEAN,
'subType' => null,
'default' => null,
'required' => true,
'description' => '',
'readonly' => false
),
'b[][d]' => array(
'dataType' => 'string',
'actualType' => DataTypes::STRING,
'subType' => null,
'default' => "DefaultTest",
'required' => true,
'description' => '',
'readonly' => false
@ -187,6 +237,7 @@ class FormTypeParserTest extends \PHPUnit_Framework_TestCase
'dataType' => 'datetime',
'actualType' => DataTypes::DATETIME,
'subType' => null,
'default' => null,
'required' => true,
'description' => 'A nice description',
'readonly' => false,
@ -196,6 +247,7 @@ class FormTypeParserTest extends \PHPUnit_Framework_TestCase
'dataType' => 'datetime',
'actualType' => DataTypes::DATETIME,
'subType' => null,
'default' => null,
'required' => true,
'description' => '',
'readonly' => false,
@ -205,6 +257,7 @@ class FormTypeParserTest extends \PHPUnit_Framework_TestCase
'dataType' => 'datetime',
'actualType' => DataTypes::DATETIME,
'subType' => null,
'default' => null,
'required' => true,
'description' => '',
'readonly' => false,
@ -214,6 +267,7 @@ class FormTypeParserTest extends \PHPUnit_Framework_TestCase
'dataType' => 'datetime',
'actualType' => DataTypes::DATETIME,
'subType' => null,
'default' => null,
'required' => true,
'description' => '',
'readonly' => false,
@ -222,6 +276,7 @@ class FormTypeParserTest extends \PHPUnit_Framework_TestCase
'dataType' => 'datetime',
'actualType' => DataTypes::DATETIME,
'subType' => null,
'default' => null,
'required' => true,
'description' => '',
'readonly' => false,
@ -230,6 +285,7 @@ class FormTypeParserTest extends \PHPUnit_Framework_TestCase
'dataType' => 'date',
'actualType' => DataTypes::DATE,
'subType' => null,
'default' => null,
'required' => true,
'description' => '',
'readonly' => false,
@ -238,6 +294,7 @@ class FormTypeParserTest extends \PHPUnit_Framework_TestCase
'dataType' => 'date',
'actualType' => DataTypes::DATE,
'subType' => null,
'default' => null,
'required' => true,
'description' => '',
'readonly' => false,
@ -247,6 +304,7 @@ class FormTypeParserTest extends \PHPUnit_Framework_TestCase
'dataType' => 'choice',
'actualType' => DataTypes::ENUM,
'subType' => null,
'default' => null,
'required' => true,
'description' => '',
'readonly' => false,
@ -256,6 +314,7 @@ class FormTypeParserTest extends \PHPUnit_Framework_TestCase
'dataType' => 'array of choices',
'actualType' => DataTypes::COLLECTION,
'subType' => DataTypes::ENUM,
'default' => null,
'required' => true,
'description' => '',
'readonly' => false,
@ -265,6 +324,7 @@ class FormTypeParserTest extends \PHPUnit_Framework_TestCase
'dataType' => 'choice',
'actualType' => DataTypes::ENUM,
'subType' => null,
'default' => null,
'required' => true,
'description' => '',
'readonly' => false,
@ -273,6 +333,7 @@ class FormTypeParserTest extends \PHPUnit_Framework_TestCase
'dataType' => 'choice',
'actualType' => DataTypes::ENUM,
'subType' => null,
'default' => null,
'required' => true,
'description' => '',
'readonly' => false,