Skip to content
This repository has been archived by the owner on Jan 30, 2020. It is now read-only.

Commit

Permalink
Merge pull request zendframework/zendframework#1 from wryck7/ZendHydr…
Browse files Browse the repository at this point in the history
…ator

CS fixes
  • Loading branch information
mabuzagu committed Apr 15, 2013
157 parents b428d8b + dc72787 + bca6f24 + 1cda83c + 835b631 + d3605c7 + 7a32de0 + 7a6cebf + 662a059 + 5e1c4bb + de6ba8b + 19c92ef + f5abdbd + a4b3fcc + e0d3e79 + eb7f4fc + f5f296f + c1bc89d + 2cfde08 + 5ed923d + 7bfa121 + 0b38f0b + 1914ec7 + 47650bd + b7f9c80 + d490dab + 0b235a6 + ea8420a + 806e429 + 14b8e16 + 2c9f881 + 1591173 + 3288109 + 6149722 + fb18be8 + 2f56d24 + 256686b + 3cc679d + da18011 + 93ac388 + 57ef4a3 + 2f2851a + 2ec1dbc + 9a48955 + b6b50b9 + a16c105 + a634561 + 779d017 + e998d74 + e0c0b66 + 677bd85 + bd0abb6 + 7e23a9b + 76e9a65 + 9666e65 + 0fb7a6e + b476244 + a566cb1 + 84a7972 + f6501d5 + 74b0454 + ea99bf1 + e2703e7 + 90db7ae + b2f5380 + d6ee2dd + 2dae9df + 15a2e1f + 00d7ef1 + 88e29ab + 04f5596 + d4b9187 + 83cb40e + e80536c + 8344c40 + 314ef07 + f8fe680 + 7d99158 + 5a453b7 + 16b512c + e13bb78 + f8c8e84 + 0e833f2 + 463bd0b + e23f919 + c0f3fe1 + 9af4d23 + fbdafd9 + 46c341e + 1fcdf03 + 9e5c38e + 41f8caa + f236745 + ab9047d + c7b4a3f + 5cbe79f + dc8268a + cbafbe9 + d2c6567 + 0cc6fdf + 09daef8 + df6fc46 + ba228cf + 67d18da + 48a0084 + c78da38 + 76f6205 + 02baf86 + 907dad9 + 56854a7 + 51b08b5 + 86f37cb + 5ecd1ed + a4cca36 + cfc46bf + a576736 + 0650b43 + 6fc76b3 + 2dcfeeb + 80461fa + db66f77 + 66790e4 + ceefa98 + fc0f947 + 6a060b9 + de10d09 + 9ac9f8e + dc02847 + ee05131 + fb9ea71 + cb2e3cf + 08f2b17 + 71822ef + 818d7d9 + 5c72f46 + 2b5dcae + 32dbda5 + d550f51 + 3aa0ee9 + 4ea71ee + 730f592 + c6516da + 76770c7 + 167fdbf + 1510cfa + e52ef9a + c1754e3 + 30e7e8b + c208a5e + c258e8b + 95bc2ba + 62058ff + 5129baa + e212b9b + 1483e66 + efc498e + 760714d commit d68e5a1
Show file tree
Hide file tree
Showing 5 changed files with 59 additions and 14 deletions.
4 changes: 2 additions & 2 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@
},
"extra": {
"branch-alias": {
"dev-master": "2.4-dev",
"dev-develop": "2.5-dev"
"dev-master": "2.1-dev",
"dev-develop": "2.2-dev"
}
},
"autoload-dev": {
Expand Down
4 changes: 3 additions & 1 deletion src/Header/AbstractAddressList.php
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,9 @@ public static function fromString($headerLine)
{
$decodedLine = iconv_mime_decode($headerLine, ICONV_MIME_DECODE_CONTINUE_ON_ERROR, 'UTF-8');
// split into name/value
list($fieldName, $fieldValue) = explode(': ', $decodedLine, 2);
list($fieldName, $fieldValue) = explode(':', $decodedLine, 2);
$fieldName = trim($fieldName);
$fieldValue = trim($fieldValue);

if (strtolower($fieldName) !== static::$type) {
throw new Exception\InvalidArgumentException(sprintf(
Expand Down
9 changes: 9 additions & 0 deletions src/Transport/Sendmail.php
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,15 @@ public function send(Mail\Message $message)
$headers = $this->prepareHeaders($message);
$params = $this->prepareParameters($message);

// On *nix platforms, we need to replace \r\n with \n
// sendmail is not an SMTP server, it is a unix command - it expects LF
if (!$this->isWindowsOs()) {
$to = str_replace("\r\n", "\n", $to);
$subject = str_replace("\r\n", "\n", $subject);
$body = str_replace("\r\n", "\n", $body);
$headers = str_replace("\r\n", "\n", $headers);
}

call_user_func($this->callable, $to, $subject, $body, $headers, $params);
}

Expand Down
44 changes: 39 additions & 5 deletions test/Header/AddressListHeaderTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -105,11 +105,11 @@ public function getStringHeaders()
{
$value = $this->getExpectedFieldValue();
return array(
array('Cc: ' . $value, 'Zend\Mail\Header\Cc'),
array('Bcc: ' . $value, 'Zend\Mail\Header\Bcc'),
array('From: ' . $value, 'Zend\Mail\Header\From'),
array('Reply-To: ' . $value, 'Zend\Mail\Header\ReplyTo'),
array('To: ' . $value, 'Zend\Mail\Header\To'),
'cc' => array('Cc: ' . $value, 'Zend\Mail\Header\Cc'),
'bcc' => array('Bcc: ' . $value, 'Zend\Mail\Header\Bcc'),
'from' => array('From: ' . $value, 'Zend\Mail\Header\From'),
'reply-to' => array('Reply-To: ' . $value, 'Zend\Mail\Header\ReplyTo'),
'to' => array('To: ' . $value, 'Zend\Mail\Header\To'),
);
}

Expand All @@ -133,4 +133,38 @@ public function testDeserializationFromString($headerLine, $class)
$address = $list->get('[email protected]');
$this->assertEquals('ZF Announce List', $address->getName());
}

public function getStringHeadersWithNoWhitespaceSeparator()
{
$value = $this->getExpectedFieldValue();
return array(
'cc' => array('Cc:' . $value, 'Zend\Mail\Header\Cc'),
'bcc' => array('Bcc:' . $value, 'Zend\Mail\Header\Bcc'),
'from' => array('From:' . $value, 'Zend\Mail\Header\From'),
'reply-to' => array('Reply-To:' . $value, 'Zend\Mail\Header\ReplyTo'),
'to' => array('To:' . $value, 'Zend\Mail\Header\To'),
);
}

/**
* @group 3789
* @dataProvider getStringHeadersWithNoWhitespaceSeparator
*/
public function testAllowsNoWhitespaceBetweenHeaderAndValue($headerLine, $class)
{
$callback = sprintf('%s::fromString', $class);
$header = call_user_func($callback, $headerLine);
$this->assertInstanceOf($class, $header);
$list = $header->getAddressList();
$this->assertEquals(3, count($list));
$this->assertTrue($list->has('[email protected]'));
$this->assertTrue($list->has('[email protected]'));
$this->assertTrue($list->has('[email protected]'));
$address = $list->get('[email protected]');
$this->assertEquals('ZF DevTeam', $address->getName());
$address = $list->get('[email protected]');
$this->assertNull($address->getName());
$address = $list->get('[email protected]');
$this->assertEquals('ZF Announce List', $address->getName());
}
}
12 changes: 6 additions & 6 deletions test/Transport/SendmailTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -83,12 +83,12 @@ public function testReceivesMailArtifactsOnUnixSystems()
$this->assertEquals('ZF DevTeam <[email protected]>', $this->to);
$this->assertEquals('Testing Zend\Mail\Transport\Sendmail', $this->subject);
$this->assertEquals('This is only a test.', trim($this->message));
$this->assertNotContains("To: ZF DevTeam <[email protected]>\r\n", $this->additional_headers);
$this->assertContains("Cc: [email protected]\r\n", $this->additional_headers);
$this->assertContains("Bcc: \"CR-Team, ZF Project\" <[email protected]>\r\n", $this->additional_headers);
$this->assertContains("From: [email protected],\r\n Matthew <[email protected]>\r\n", $this->additional_headers);
$this->assertContains("X-Foo-Bar: Matthew\r\n", $this->additional_headers);
$this->assertContains("Sender: Ralph Schindler <[email protected]>\r\n", $this->additional_headers);
$this->assertNotContains("To: ZF DevTeam <[email protected]>\n", $this->additional_headers);
$this->assertContains("Cc: [email protected]\n", $this->additional_headers);
$this->assertContains("Bcc: \"CR-Team, ZF Project\" <[email protected]>\n", $this->additional_headers);
$this->assertContains("From: [email protected],\n Matthew <[email protected]>\n", $this->additional_headers);
$this->assertContains("X-Foo-Bar: Matthew\n", $this->additional_headers);
$this->assertContains("Sender: Ralph Schindler <[email protected]>\n", $this->additional_headers);
$this->assertEquals('-R hdrs -f [email protected]', $this->additional_parameters);
}

Expand Down

0 comments on commit d68e5a1

Please sign in to comment.