ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
ilMailAddressParserTest Class Reference
+ Inheritance diagram for ilMailAddressParserTest:
+ Collaboration diagram for ilMailAddressParserTest:

Public Member Functions

 testBuiltInAddressParser (string $addresses, array $expected)
 
 testPearAddressParser (string $addresses, array $expected)
 
 testAddressParserReturnsEmptyListIfAnEmptyAddressStringIsGiven ()
 
 testExceptionShouldBeRaisedIfEmailCannotBeParsedWithPearAddressParser (string $addresses)
 
 testWrappingParserDelegatesParsingToAggregatedParser ()
 

Static Public Member Functions

static emailAddressesProvider ()
 
static emailInvalidAddressesProvider ()
 

Private Attributes

const string DEFAULT_HOST = 'ilias'
 

Additional Inherited Members

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

Detailed Description

Definition at line 23 of file ilMailAddressParserTest.php.

Member Function Documentation

◆ emailAddressesProvider()

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

Definition at line 30 of file ilMailAddressParserTest.php.

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

◆ emailInvalidAddressesProvider()

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

Definition at line 110 of file ilMailAddressParserTest.php.

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

◆ testAddressParserReturnsEmptyListIfAnEmptyAddressStringIsGiven()

ilMailAddressParserTest::testAddressParserReturnsEmptyListIfAnEmptyAddressStringIsGiven ( )

Definition at line 146 of file ilMailAddressParserTest.php.

146 : void
147 {
148 $parser = new ilMailPearRfc822WrapperAddressParser('');
149 $parsed_addresses = $parser->parse();
150
151 $this->assertCount(0, $parsed_addresses);
152 }

◆ testBuiltInAddressParser()

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

Definition at line 123 of file ilMailAddressParserTest.php.

123 : void
124 {
125 if (!function_exists('imap_rfc822_parse_adrlist')) {
126 $this->markTestSkipped('Skipped test, imap extension required');
127 }
128
129 $parser = new ilMailImapRfc822AddressParser($addresses);
130 $parsed_addresses = $parser->parse();
131
132 $this->assertCount(count($expected), $parsed_addresses);
133 $this->assertEquals($expected, $parsed_addresses);
134 }

◆ testExceptionShouldBeRaisedIfEmailCannotBeParsedWithPearAddressParser()

ilMailAddressParserTest::testExceptionShouldBeRaisedIfEmailCannotBeParsedWithPearAddressParser ( string  $addresses)

Definition at line 155 of file ilMailAddressParserTest.php.

155 : void
156 {
157 $this->expectException(ilMailException::class);
158
159 $parser = new ilMailPearRfc822WrapperAddressParser($addresses);
160 $parser->parse();
161 }

◆ testPearAddressParser()

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

Definition at line 137 of file ilMailAddressParserTest.php.

137 : void
138 {
139 $parser = new ilMailPearRfc822WrapperAddressParser($addresses);
140 $parsed_addresses = $parser->parse();
141
142 $this->assertEquals($expected, $parsed_addresses);
143 $this->assertCount(count($expected), $parsed_addresses);
144 }

◆ testWrappingParserDelegatesParsingToAggregatedParser()

ilMailAddressParserTest::testWrappingParserDelegatesParsingToAggregatedParser ( )

Definition at line 163 of file ilMailAddressParserTest.php.

163 : void
164 {
165 $wrapped_parser = $this->getMockBuilder(ilBaseMailRfc822AddressParser::class)
166 ->setConstructorArgs(['phpunit', 'ilias'])
167 ->getMock();
168 $wrapped_parser->expects($this->once())->method('parse');
169
170 $parser = new ilMailRfc822AddressParser($wrapped_parser);
171 $parser->parse();
172 }

Field Documentation

◆ DEFAULT_HOST

const string ilMailAddressParserTest::DEFAULT_HOST = 'ilias'
private

Definition at line 25 of file ilMailAddressParserTest.php.


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