Merge branch 'master' into 2.5

This commit is contained in:
mark_story 2014-02-18 22:19:12 -05:00
commit b8c94fa5d4
3 changed files with 23 additions and 2 deletions

View file

@ -206,13 +206,13 @@ class MemcacheEngine extends CacheEngine {
if ($check) { if ($check) {
return true; return true;
} }
foreach ($this->_Memcache->getExtendedStats('slabs') as $slabs) { foreach ($this->_Memcache->getExtendedStats('slabs', 0) as $slabs) {
foreach (array_keys($slabs) as $slabId) { foreach (array_keys($slabs) as $slabId) {
if (!is_numeric($slabId)) { if (!is_numeric($slabId)) {
continue; continue;
} }
foreach ($this->_Memcache->getExtendedStats('cachedump', $slabId) as $stats) { foreach ($this->_Memcache->getExtendedStats('cachedump', $slabId, 0) as $stats) {
if (!is_array($stats)) { if (!is_array($stats)) {
continue; continue;
} }

View file

@ -1654,6 +1654,22 @@ class ValidationTest extends CakeTestCase {
$this->assertFalse(Validation::decimal('.54321', null, '/^[-+]?[0-9]+(\\.[0-9]+)?$/s')); $this->assertFalse(Validation::decimal('.54321', null, '/^[-+]?[0-9]+(\\.[0-9]+)?$/s'));
} }
/**
* Test localized floats with decimal.
*
* @return void
*/
public function testDecimalLocaleSet() {
$this->skipIf(DS === '\\', 'The locale is not supported in Windows and affect the others tests.');
$restore = setlocale(LC_NUMERIC, 0);
$this->skipIf(setlocale(LC_NUMERIC, 'de_DE') === false, "The German locale isn't available.");
$this->assertTrue(Validation::decimal(1.54));
$this->assertTrue(Validation::decimal('1.54'));
setlocale(LC_NUMERIC, $restore);
}
/** /**
* testEmail method * testEmail method
* *

View file

@ -425,6 +425,11 @@ class Validation {
$regex = "/^{$sign}{$dnum}{$exp}$/"; $regex = "/^{$sign}{$dnum}{$exp}$/";
} }
} }
// Workaround localized floats.
if (is_float($check)) {
$check = str_replace(',', '.', strval($check));
}
return self::_check($check, $regex); return self::_check($check, $regex);
} }