Skip to content

Commit

Permalink
Merge pull request #2731 from joostdekeijzer/console-extract-not-hand…
Browse files Browse the repository at this point in the history
…ling-validation-quotes

Console Extract task doesn't handle validation messages with qoutes correctly
  • Loading branch information
markstory committed Jan 29, 2014
2 parents 5629dfd + 42daa25 commit 8db034c
Show file tree
Hide file tree
Showing 3 changed files with 49 additions and 0 deletions.
1 change: 1 addition & 0 deletions lib/Cake/Console/Command/Task/ExtractTask.php
Expand Up @@ -525,6 +525,7 @@ protected function _processValidationRules($field, $rules, $file, $domain, $cate
$msgid = $rule;
}
if ($msgid) {
$msgid = $this->_formatString(sprintf("'%s'", $msgid));
$details = array(
'file' => $file,
'line' => 'validation for field ' . $field
Expand Down
3 changes: 3 additions & 0 deletions lib/Cake/Test/Case/Console/Command/Task/ExtractTaskTest.php
Expand Up @@ -351,6 +351,9 @@ public function testExtractModelValidation() {

$pattern = '#msgid "Post body is super required"#';
$this->assertRegExp($pattern, $result);

$this->assertContains('msgid "double \\"quoted\\" validation"', $result, 'Strings with quotes not handled correctly');
$this->assertContains("msgid \"single 'quoted' validation\"", $result, 'Strings with quotes not handled correctly');
}

/**
Expand Down
45 changes: 45 additions & 0 deletions lib/Cake/Test/test_app/Model/Extract.php
@@ -0,0 +1,45 @@
<?php
/**
* Test App Extract Model
*
* CakePHP : Rapid Development Framework (http://cakephp.org)
* Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
*
* Licensed under The MIT License
* For full copyright and license information, please see the LICENSE.txt
* Redistributions of files must retain the above copyright notice.
*
* @copyright Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
* @link http://cakephp.org CakePHP Project
* @package Cake.Test.TestApp.Model
* @since CakePHP v 2.4
* @license http://www.opensource.org/licenses/mit-license.php MIT License
*/

/**
* Class Extract
*
* For testing Console i18n validation message extraction with quotes
*
* @package Cake.Test.TestApp.Model
*/
class Extract extends AppModel {

public $useTable = false;

public $validate = array(
'title' => array(
'custom' => array(
'rule' => array('custom', '.*'),
'allowEmpty' => true,
'required' => false,
'message' => 'double "quoted" validation'
),
'between' => array(
'rule' => array('between', 5, 15),
'message' => "single 'quoted' validation"
)
),
);

}

0 comments on commit 8db034c

Please sign in to comment.