Apply ADmad's patch and update testConfig method according to a new specification.

This commit is contained in:
fuga 2013-08-13 17:42:52 +09:00
parent 303261e231
commit 245611424f

View file

@ -95,6 +95,20 @@ class EmailConfig {
'helpers' => array('Html', 'Form'), 'helpers' => array('Html', 'Form'),
); );
/**
* test config 2
*
* @var string
*/
public $test2 = array(
'from' => array('some@example.com' => 'My website'),
'to' => array('test@example.com' => 'Testname'),
'subject' => 'Test mail subject',
'transport' => 'Smtp',
'host' => 'cakephp.org',
'timeout' => 60
);
} }
/* /*
@ -726,12 +740,13 @@ class CakeEmailTest extends CakeTestCase {
$this->assertSame($this->CakeEmail->config(), $config); $this->assertSame($this->CakeEmail->config(), $config);
$this->CakeEmail->config(array()); $this->CakeEmail->config(array());
$this->assertSame($transportClass->config(), array()); $this->assertSame($transportClass->config(), $config);
$config = array('test' => 'test@example.com'); $config = array('test' => 'test@example.com');
$this->CakeEmail->config($config); $this->CakeEmail->config($config);
$expected = array('test' => 'test@example.com', 'test2' => true); $expected = array('test' => 'test@example.com', 'test2' => true);
$this->assertSame($expected, $this->CakeEmail->config()); $this->assertSame($expected, $this->CakeEmail->config());
$this->assertSame($expected, $transportClass->config());
} }
/** /**
@ -765,6 +780,35 @@ class CakeEmailTest extends CakeTestCase {
$this->assertEquals($configs->test['helpers'], $result); $this->assertEquals($configs->test['helpers'], $result);
} }
/**
* Test updating config doesn't reset transport's config.
*
* @return void
*/
public function testConfigMerge() {
$this->CakeEmail->config('test2');
$expected = array(
'host' => 'cakephp.org',
'port' => 25,
'timeout' => 60,
'username' => null,
'password' => null,
'client' => null,
'tls' => false
);
$this->assertEquals($expected, $this->CakeEmail->transportClass()->config());
$this->CakeEmail->config(array('log' => true));
$result = $this->CakeEmail->transportClass()->config();
$expected += array('log' => true);
$this->assertEquals($expected, $this->CakeEmail->transportClass()->config());
$this->CakeEmail->config(array('timeout' => 45));
$result = $this->CakeEmail->transportClass()->config();
$this->assertEquals(45, $result['timeout']);
}
/** /**
* testSendWithContent method * testSendWithContent method
* *