mirror of
https://github.com/kamilwylegala/cakephp2-php8.git
synced 2024-11-15 03:18:26 +00:00
The assembly of the message was not correctly completed in specific Japanese.
This commit is contained in:
parent
de7535d5a1
commit
a562d9c04e
2 changed files with 33 additions and 1 deletions
|
@ -1253,7 +1253,7 @@ class CakeEmail {
|
|||
$formatted[] = '';
|
||||
continue;
|
||||
}
|
||||
if (!preg_match('/\<[a-z]/i', $line)) {
|
||||
if (!preg_match('/<[a-z]+.+>/i', $line)) {
|
||||
$formatted = array_merge(
|
||||
$formatted,
|
||||
explode("\n", wordwrap($line, $wrapLength, "\n"))
|
||||
|
|
|
@ -1622,6 +1622,38 @@ class CakeEmailTest extends CakeTestCase {
|
|||
$this->assertContains('ってテーブルを作ってやってたらう', $result['message']);
|
||||
}
|
||||
|
||||
public function testWrapLongLine() {
|
||||
$message = '<a href="http://cakephp.org">' . str_repeat('1234567890', 100) . "</a>";
|
||||
|
||||
$this->CakeEmail->reset();
|
||||
$this->CakeEmail->transport('Debug');
|
||||
$this->CakeEmail->from('cake@cakephp.org');
|
||||
$this->CakeEmail->to('cake@cakephp.org');
|
||||
$this->CakeEmail->subject('Wordwrap Test');
|
||||
$this->CakeEmail->config(array('empty'));
|
||||
$result = $this->CakeEmail->send($message);
|
||||
$expected = "<a\r\n" . 'href="http://cakephp.org">' . str_repeat('1234567890', 100) . "\r\n</a>\r\n\r\n";
|
||||
$this->assertEquals($expected, $result['message']);
|
||||
}
|
||||
|
||||
public function testWrapForJapaneseEncoding() {
|
||||
$this->skipIf(!function_exists('mb_convert_encoding'));
|
||||
|
||||
$message = mb_convert_encoding('受け付けました', 'iso-2022-jp', 'UTF-8');
|
||||
|
||||
$this->CakeEmail->reset();
|
||||
$this->CakeEmail->transport('Debug');
|
||||
$this->CakeEmail->from('cake@cakephp.org');
|
||||
$this->CakeEmail->to('cake@cakephp.org');
|
||||
$this->CakeEmail->subject('Wordwrap Test');
|
||||
$this->CakeEmail->config(array('empty'));
|
||||
$this->CakeEmail->charset('iso-2022-jp');
|
||||
$this->CakeEmail->headerCharset('iso-2022-jp');
|
||||
$result = $this->CakeEmail->send($message);
|
||||
$expected = "{$message}\r\n\r\n";
|
||||
$this->assertEquals($expected, $result['message']);
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that the body is encoded using the configured charset
|
||||
*
|
||||
|
|
Loading…
Reference in a new issue