ILIAS  trunk Revision v11.0_alpha-1715-g7fc467680fb
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
ilMailAddressParserTest Class Reference

Class ilMailAddressParserTest. More...

+ Inheritance diagram for ilMailAddressParserTest:
+ Collaboration diagram for ilMailAddressParserTest:

Public Member Functions

 testBuiltInAddressParser (string $addresses, array $expected)
 emailAddressesProvider More...
 
 testPearAddressParser (string $addresses, array $expected)
 emailAddressesProvider More...
 
 testAddressParserReturnsEmptyListIfAnEmptyAddressStringIsGiven ()
 
 testExceptionShouldBeRaisedIfEmailCannotBeParsedWithPearAddressParser (string $addresses)
 emailInvalidAddressesProvider More...
 
 testWrappingParserDelegatesParsingToAggregatedParser ()
 

Static Public Member Functions

static emailAddressesProvider ()
 
static emailInvalidAddressesProvider ()
 

Private Attributes

const DEFAULT_HOST = 'ilias'
 

Additional Inherited Members

- Protected Member Functions inherited from ilMailBaseTestCase
 brutallyTrimHTML (string $html)
 
 setUp ()
 
 tearDown ()
 
 setGlobalVariable (string $name, $value)
 

Detailed Description

Member Function Documentation

◆ emailAddressesProvider()

static ilMailAddressParserTest::emailAddressesProvider ( )
static
Returns
array[]

Definition at line 32 of file ilMailAddressParserTest.php.

32  : array
33  {
34  return [
35  'Username Addresses' => [
36  'phpunit@' . self::DEFAULT_HOST . ',phpunit',
37  [
38  new ilMailAddress('phpunit', self::DEFAULT_HOST),
39  new ilMailAddress('phpunit', self::DEFAULT_HOST),
40  ],
41  ],
42  'Email Address' => [
43  'phpunit@ilias.de',
44  [
45  new ilMailAddress('phpunit', 'ilias.de'),
46  ],
47  ],
48  'Email Addresses with Umlauts' => [
49  'phpünit@ilias.de,phpnitü@ilias.de,üphpnit@iliäs.de',
50  [
51  new ilMailAddress('phpünit', 'ilias.de'),
52  new ilMailAddress('phpnitü', 'ilias.de'),
53  new ilMailAddress('üphpnit', 'iliäs.de'),
54  ],
55  ],
56  'Trailing Dot in Local Part of Email Address' => [
57  'phpunit.@ilias.de',
58  [
59  new ilMailAddress('phpunit.', 'ilias.de'),
60  ],
61  ],
62  'Mailing List Address' => [
63  '#il_ml_4711',
64  [
65  new ilMailAddress('#il_ml_4711', self::DEFAULT_HOST),
66  ],
67  ],
68  'Role Address' => [
69  '#il_role_1000',
70  [
71  new ilMailAddress('#il_role_1000', self::DEFAULT_HOST),
72  ],
73  ],
74  'Local Role Address' => [
75  '#il_crs_member_998',
76  [
77  new ilMailAddress('#il_crs_member_998', self::DEFAULT_HOST),
78  ],
79  ],
80  'Course Role Address With Role Names for Course and Role' => [
81  '#member@[French Course]',
82  [
83  new ilMailAddress('#member', '[French Course]'),
84  ],
85  ],
86  'Course Role Recipient with Course Role Address (Role Names for Course and Role)' => [
87  'Course Administrator <#admin@[Math Course]>',
88  [
89  new ilMailAddress('#admin', '[Math Course]'),
90  ],
91  ],
92  'Course Role Recipient with Course Role Address (Numeric Id for Course Role)' => [
93  'Course Administrator <#il_crs_admin_2581>',
94  [
95  new ilMailAddress('#il_crs_admin_2581', self::DEFAULT_HOST),
96  ],
97  ],
98  'sepp@some.where;done@web.de' => [
99  // https://mantis.ilias.de/view.php?id=30306
100  'sepp@some.where;done@web.de',
101  [
102  new ilMailAddress('sepp', 'some.where'),
103  new ilMailAddress('done', 'web.de'),
104  ],
105  ],
106  ];
107  }
Class ilMailAddress.

◆ emailInvalidAddressesProvider()

static ilMailAddressParserTest::emailInvalidAddressesProvider ( )
static
Returns
array[]

Definition at line 112 of file ilMailAddressParserTest.php.

112  : array
113  {
114  return [
115  'Trailing Quote in Local Part' => [
116  'phpunit"@',
117  ],
118  'Trailing Quote in Local Part of Email Address' => [
119  'phpunit"@ilias.de',
120  ],
121  ];
122  }

◆ testAddressParserReturnsEmptyListIfAnEmptyAddressStringIsGiven()

ilMailAddressParserTest::testAddressParserReturnsEmptyListIfAnEmptyAddressStringIsGiven ( )

Definition at line 152 of file ilMailAddressParserTest.php.

152  : void
153  {
154  $parser = new ilMailPearRfc822WrapperAddressParser('');
155  $parsedAddresses = $parser->parse();
156 
157  $this->assertCount(0, $parsedAddresses);
158  }

◆ testBuiltInAddressParser()

ilMailAddressParserTest::testBuiltInAddressParser ( string  $addresses,
array  $expected 
)

emailAddressesProvider

Definition at line 127 of file ilMailAddressParserTest.php.

127  : void
128  {
129  if (!function_exists('imap_rfc822_parse_adrlist')) {
130  $this->markTestSkipped('Skipped test, imap extension required');
131  }
132 
133  $parser = new ilMailImapRfc822AddressParser($addresses);
134  $parsedAddresses = $parser->parse();
135 
136  $this->assertCount(count($expected), $parsedAddresses);
137  $this->assertEquals($expected, $parsedAddresses);
138  }
Class ilMailImapRfc822AddressParser.

◆ testExceptionShouldBeRaisedIfEmailCannotBeParsedWithPearAddressParser()

ilMailAddressParserTest::testExceptionShouldBeRaisedIfEmailCannotBeParsedWithPearAddressParser ( string  $addresses)

emailInvalidAddressesProvider

Definition at line 163 of file ilMailAddressParserTest.php.

163  : void
164  {
165  $this->expectException(ilMailException::class);
166 
167  $parser = new ilMailPearRfc822WrapperAddressParser($addresses);
168  $parser->parse();
169  }

◆ testPearAddressParser()

ilMailAddressParserTest::testPearAddressParser ( string  $addresses,
array  $expected 
)

emailAddressesProvider

Definition at line 143 of file ilMailAddressParserTest.php.

143  : void
144  {
145  $parser = new ilMailPearRfc822WrapperAddressParser($addresses);
146  $parsedAddresses = $parser->parse();
147 
148  $this->assertEquals($expected, $parsedAddresses);
149  $this->assertCount(count($expected), $parsedAddresses);
150  }

◆ testWrappingParserDelegatesParsingToAggregatedParser()

ilMailAddressParserTest::testWrappingParserDelegatesParsingToAggregatedParser ( )
Exceptions
ReflectionException

Definition at line 174 of file ilMailAddressParserTest.php.

174  : void
175  {
176  $wrappedParser = $this->getMockBuilder(ilBaseMailRfc822AddressParser::class)
177  ->setConstructorArgs(['phpunit', 'ilias'])
178  ->getMock();
179  $wrappedParser->expects($this->once())->method('parse');
180 
181  $parser = new ilMailRfc822AddressParser($wrappedParser);
182  $parser->parse();
183  }
Class ilMailRfc822AddressParser.

Field Documentation

◆ DEFAULT_HOST

const ilMailAddressParserTest::DEFAULT_HOST = 'ilias'
private

Definition at line 27 of file ilMailAddressParserTest.php.


The documentation for this class was generated from the following file: