Merge branch 'master' into 2.6

Conflicts:
	lib/Cake/VERSION.txt
This commit is contained in:
mark_story 2014-11-10 19:38:31 -05:00
commit 3095187952
4 changed files with 38 additions and 16 deletions

View file

@ -89,7 +89,7 @@ class SchemaShell extends AppShell {
$name = $plugin;
}
}
$name = Inflector::classify($name);
$name = Inflector::camelize($name);
$this->Schema = new CakeSchema(compact('name', 'path', 'file', 'connection', 'plugin'));
}
@ -292,10 +292,10 @@ class SchemaShell extends AppShell {
$Schema = $this->Schema->load($options);
if (!$Schema) {
$this->err(__d('cake_console', 'The chosen schema could not be loaded. Attempted to load:'));
$this->err(__d('cake_console', 'File: %s', $this->Schema->path . DS . $this->Schema->file));
$this->err(__d('cake_console', 'Name: %s', $this->Schema->name));
return $this->_stop();
$this->err(__d('cake_console', '<error>Error</error>: The chosen schema could not be loaded. Attempted to load:'));
$this->err(__d('cake_console', '- file: %s', $this->Schema->path . DS . $this->Schema->file));
$this->err(__d('cake_console', '- name: %s', $this->Schema->name));
return $this->_stop(2);
}
$table = null;
if (isset($this->args[1])) {

View file

@ -553,7 +553,9 @@ class CakeEmail {
/**
* EmailPattern setter/getter
*
* @param string $regex for email address validation
* @param string|bool|null $regex The pattern to use for email address validation,
* null to unset the pattern and make use of filter_var() instead, false or
* nothing to return the current value
* @return string|$this
*/
public function emailPattern($regex = false) {
@ -602,10 +604,11 @@ class CakeEmail {
* @throws SocketException If email address does not validate
*/
protected function _validateEmail($email) {
if ($this->_emailPattern === null && filter_var($email, FILTER_VALIDATE_EMAIL)) {
return;
}
if (preg_match($this->_emailPattern, $email)) {
if ($this->_emailPattern === null) {
if (filter_var($email, FILTER_VALIDATE_EMAIL)) {
return;
}
} elseif (preg_match($this->_emailPattern, $email)) {
return;
}
throw new SocketException(__d('cake_dev', 'Invalid email: "%s"', $email));

View file

@ -617,19 +617,19 @@ class SchemaShellTest extends CakeTestCase {
$this->Shell->params = array(
'plugin' => 'TestPlugin',
'connection' => 'test',
'name' => 'custom_name',
'name' => 'custom_names',
'force' => false,
'overwrite' => true,
);
$this->Shell->startup();
if (file_exists($this->Shell->Schema->path . DS . 'custom_name.php')) {
unlink($this->Shell->Schema->path . DS . 'custom_name.php');
if (file_exists($this->Shell->Schema->path . DS . 'custom_names.php')) {
unlink($this->Shell->Schema->path . DS . 'custom_names.php');
}
$this->Shell->generate();
$contents = file_get_contents($this->Shell->Schema->path . DS . 'custom_name.php');
$this->assertRegExp('/class CustomNameSchema/', $contents);
unlink($this->Shell->Schema->path . DS . 'custom_name.php');
$contents = file_get_contents($this->Shell->Schema->path . DS . 'custom_names.php');
$this->assertRegExp('/class CustomNamesSchema/', $contents);
unlink($this->Shell->Schema->path . DS . 'custom_names.php');
CakePlugin::unload();
}

View file

@ -386,6 +386,25 @@ class CakeEmailTest extends CakeTestCase {
), $this->CakeEmail->to());
}
/**
* Tests that it is possible to unset the email pattern and make use of filter_var() instead.
*
* @return void
*
* @expectedException SocketException
* @expectedExceptionMessage Invalid email: "fail.@example.com"
*/
public function testUnsetEmailPattern() {
$email = new CakeEmail();
$this->assertSame(CakeEmail::EMAIL_PATTERN, $email->emailPattern());
$email->emailPattern(null);
$this->assertNull($email->emailPattern());
$email->to('pass@example.com');
$email->to('fail.@example.com');
}
/**
* testFormatAddress method
*