2 require_once('modules/Emails/Email.php');
5 * Test cases for Bug 30591
7 class EmailTest extends Sugar_PHPUnit_Framework_TestCase
11 public function setUp()
15 $current_user = SugarTestUserUtilities::createAnonymousUser();
16 $this->email = new Email();
17 $this->email->email2init();
20 public function tearDown()
23 SugarTestUserUtilities::removeAllCreatedAnonymousUsers();
24 unset($GLOBALS['current_user']);
27 public function testSafeAttachmentName ()
30 $extArray[] = '1.php';
31 $extArray[] = '2.php3';
32 $extArray[] = '3.php4';
33 $extArray[] = '4.php5';
35 $extArray[] = '6.htm';
36 $extArray[] = '7.html';
37 $extArray[] = '8.txt';
38 $extArray[] = '9.doc';
39 $extArray[] = '10.xls';
40 $extArray[] = '11.pdf';
43 for ($i = 0; $i < count($extArray); $i++) {
44 $result = $this->email->safeAttachmentName($extArray[$i]);
46 $this->assertEquals($result, true);
48 $this->assertEquals($result, false);
53 public function testEmail2ParseAddresses()
55 $emailDisplayName[] = '';
56 $emailDisplayName[] = 'Shine Ye';
57 $emailDisplayName[] = 'Roger,Smith';
58 $emailAddress[] = 'masonhu@sugarcrm.com';
59 $emailAddress[] = 'xye@sugarcrm.com';
60 $emailAddress[] = 'roger@sugarcrm.com';
61 for ($j = 0; $j < count($emailDisplayName); $j++)
64 $emailString[] = $emailDisplayName[$j].$emailAddress[$j];
66 $emailString[] = $emailDisplayName[$j].'<'.$emailAddress[$j].'>';
69 $emailAddressString = implode(', ', $emailString);
70 $result = $this->email->email2ParseAddresses($emailAddressString);
71 $onlyEmailResult = $this->email->email2ParseAddressesForAddressesOnly($emailAddressString);
72 for ($v = 0; $v < count($result); $v++)
74 $this->assertEquals($result[$v]['display'], $emailDisplayName[$v]);
75 $this->assertEquals($result[$v]['email'], $emailAddress[$v]);
76 $this->asserteQuals($onlyEmailResult[$v], $emailAddress[$v]);
80 public function testDecodeDuringSend()
82 $testString = 'Replace sugarLessThan and sugarGreaterThan with < and >';
83 $expectedResult = 'Replace < and > with < and >';
84 $resultString = $this->email->decodeDuringSend($testString);
85 $this->asserteQuals($resultString, $expectedResult);