From 8adb0e3673eabb3faf43e166bf4d20e551fecb42 Mon Sep 17 00:00:00 2001 From: 77web Date: Thu, 7 Feb 2013 18:53:06 +0900 Subject: [PATCH] [Form]fixed FormRenderer::humanize() to humanize camel cased label --- src/Symfony/Component/Form/CHANGELOG.md | 6 ++++++ src/Symfony/Component/Form/FormRenderer.php | 2 +- .../Component/Form/Tests/FormRendererTest.php | 18 ++++++++++++++++++ 3 files changed, 25 insertions(+), 1 deletion(-) create mode 100644 src/Symfony/Component/Form/Tests/FormRendererTest.php diff --git a/src/Symfony/Component/Form/CHANGELOG.md b/src/Symfony/Component/Form/CHANGELOG.md index 67f8e3c18ec9..08f1aec42f2b 100644 --- a/src/Symfony/Component/Form/CHANGELOG.md +++ b/src/Symfony/Component/Form/CHANGELOG.md @@ -1,6 +1,12 @@ CHANGELOG ========= + +2.3.0 +------ + + * changed FormRenderer::humanize() to humanize also camel cased field name + 2.2.0 ----- diff --git a/src/Symfony/Component/Form/FormRenderer.php b/src/Symfony/Component/Form/FormRenderer.php index b2394742f5c5..ee781ffd26af 100644 --- a/src/Symfony/Component/Form/FormRenderer.php +++ b/src/Symfony/Component/Form/FormRenderer.php @@ -280,6 +280,6 @@ public function searchAndRenderBlock(FormView $view, $blockNameSuffix, array $va */ public function humanize($text) { - return ucfirst(trim(strtolower(preg_replace('/[_\s]+/', ' ', $text)))); + return ucfirst(trim(strtolower(preg_replace(array('/([A-Z])/', '/[_\s]+/'), array('_$1', ' '), $text)))); } } diff --git a/src/Symfony/Component/Form/Tests/FormRendererTest.php b/src/Symfony/Component/Form/Tests/FormRendererTest.php new file mode 100644 index 000000000000..dc647625273f --- /dev/null +++ b/src/Symfony/Component/Form/Tests/FormRendererTest.php @@ -0,0 +1,18 @@ +getMockBuilder('Symfony\Component\Form\FormRenderer') + ->setMethods(null) + ->disableOriginalConstructor() + ->getMock() + ; + + $this->assertEquals('Is active', $renderer->humanize('is_active')); + $this->assertEquals('Is active', $renderer->humanize('isActive')); + } +} \ No newline at end of file