class PHPMailerUnitTestCase in PHPMailer 7.3
Same name and namespace in other branches
- 6.3 tests/phpmailer.test \PHPMailerUnitTestCase
- 6.2 tests/phpmailer.test \PHPMailerUnitTestCase
- 7.4 tests/phpmailer.test \PHPMailerUnitTestCase
Class for testing the PHPMailer module.
Hierarchy
- class \DrupalTestCase
- class \DrupalUnitTestCase
- class \PHPMailerUnitTestCase
- class \DrupalUnitTestCase
Expanded class hierarchy of PHPMailerUnitTestCase
File
- tests/
phpmailer.test, line 11 - PHPMailer tests.
View source
class PHPMailerUnitTestCase extends DrupalUnitTestCase {
/**
* Define this test's meta data.
*/
public static function getInfo() {
return array(
'name' => 'E-mail address parser',
'description' => 'Validates e-mail address extraction.',
'group' => 'PHPMailer',
);
}
/**
* {@inheritDoc}
*/
function setUp() {
parent::setUp();
drupal_load('module', 'phpmailer');
}
/**
* Tests e-mail address extraction using phpmailer_parse_address().
*/
function testAddressParser() {
// Set up various test addresses according to RFC 5322.
$addresses = array(
// addr-spec.
array(
'mail' => 'user-1@domain.tld',
'name' => '',
),
// Invalid but supported angle-addr without preceding display-name.
'<user-2@domain.tld>' => array(
'mail' => 'user-2@domain.tld',
'name' => '',
),
// Unquoted atom name-addr.
'John Doe <user-3@domain.tld>' => array(
'mail' => 'user-3@domain.tld',
'name' => 'John Doe',
),
// Quoted atom name-addr.
'"John Doe" <user-4@domain.tld>' => array(
'mail' => 'user-4@domain.tld',
'name' => 'John Doe',
),
// name-addr with a quoted-string in display-name.
array(
'mail' => 'user-5@domain.tld',
'name' => 'John "The Dude" Doe',
),
// name-addr with a quoted-string and comma in display-name.
array(
'mail' => 'user-6@domain.tld',
'name' => 'John "The Dude" Doe (Foo, Bar)',
),
// name-addr containing non-ASCII chars in display-name.
array(
'mail' => 'user-7@domain.tld',
'name' => 'Jöhn "The Düde" Döe',
),
);
$all = array();
// Validates each address format is correctly parsed.
foreach ($addresses as $test => $address) {
if (is_numeric($test)) {
if ($address['name'] != '') {
// Create a valid encoded email address.
$test = '"' . addslashes(mime_header_encode($address['name'])) . '" <' . $address['mail'] . '>';
}
else {
$test = $address['mail'];
}
}
$result = phpmailer_parse_address($test);
$replacements = array(
'%email' => $result[0]['mail'],
'%name' => $result[0]['name'] ? $result[0]['name'] : '(blank)',
'%address' => $test,
);
$this
->assertEqual($result[0], $address, t('Successfully extracted %email, %name from %address.', $replacements), 'PHPMailer');
$all[] = $test;
}
// One final test with all addresses concatenated.
$result = phpmailer_parse_address(implode(', ', $all));
$expected_result = array_values($addresses);
$this
->assertEqual($result, $expected_result, t('All concatenated e-mail addresses could be extracted.'), 'PHPMailer');
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
DrupalTestCase:: |
protected | property | Assertions thrown in that test case. | |
DrupalTestCase:: |
protected | property | The database prefix of this test run. | |
DrupalTestCase:: |
protected | property | The original file directory, before it was changed for testing purposes. | |
DrupalTestCase:: |
public | property | Current results of this test case. | |
DrupalTestCase:: |
protected | property | Flag to indicate whether the test has been set up. | |
DrupalTestCase:: |
protected | property | ||
DrupalTestCase:: |
protected | property | ||
DrupalTestCase:: |
protected | property | This class is skipped when looking for the source of an assertion. | |
DrupalTestCase:: |
protected | property | The test run ID. | |
DrupalTestCase:: |
protected | property | Time limit for the test. | |
DrupalTestCase:: |
public | property | Whether to cache the installation part of the setUp() method. | |
DrupalTestCase:: |
public | property | Whether to cache the modules installation part of the setUp() method. | |
DrupalTestCase:: |
protected | property | URL to the verbose output file directory. | |
DrupalTestCase:: |
protected | function | Internal helper: stores the assert. | |
DrupalTestCase:: |
protected | function | Check to see if two values are equal. | |
DrupalTestCase:: |
protected | function | Check to see if a value is false (an empty string, 0, NULL, or FALSE). | |
DrupalTestCase:: |
protected | function | Check to see if two values are identical. | |
DrupalTestCase:: |
protected | function | Check to see if two values are not equal. | |
DrupalTestCase:: |
protected | function | Check to see if two values are not identical. | |
DrupalTestCase:: |
protected | function | Check to see if a value is not NULL. | |
DrupalTestCase:: |
protected | function | Check to see if a value is NULL. | |
DrupalTestCase:: |
protected | function | Check to see if a value is not false (not an empty string, 0, NULL, or FALSE). | |
DrupalTestCase:: |
public static | function | Delete an assertion record by message ID. | |
DrupalTestCase:: |
protected | function | Fire an error assertion. | 1 |
DrupalTestCase:: |
public | function | Handle errors during test runs. | 1 |
DrupalTestCase:: |
protected | function | Handle exceptions. | |
DrupalTestCase:: |
protected | function | Fire an assertion that is always negative. | |
DrupalTestCase:: |
public static | function | Converts a list of possible parameters into a stack of permutations. | |
DrupalTestCase:: |
protected | function | Cycles through backtrace until the first non-assertion method is found. | |
DrupalTestCase:: |
public static | function | Returns the database connection to the site running Simpletest. | |
DrupalTestCase:: |
public static | function | Store an assertion from outside the testing context. | |
DrupalTestCase:: |
protected | function | Fire an assertion that is always positive. | |
DrupalTestCase:: |
public static | function | Generates a random string containing letters and numbers. | |
DrupalTestCase:: |
public static | function | Generates a random string of ASCII characters of codes 32 to 126. | |
DrupalTestCase:: |
public | function | Run all tests in this class. | |
DrupalTestCase:: |
protected | function | Logs a verbose message in a text file. | |
DrupalUnitTestCase:: |
protected | function | 1 | |
DrupalUnitTestCase:: |
function |
Constructor for DrupalUnitTestCase. Overrides DrupalTestCase:: |
||
PHPMailerUnitTestCase:: |
public static | function | Define this test's meta data. | |
PHPMailerUnitTestCase:: |
function |
Sets up unit test environment. Overrides DrupalUnitTestCase:: |
||
PHPMailerUnitTestCase:: |
function | Tests e-mail address extraction using phpmailer_parse_address(). |