ILIAS  trunk Revision v11.0_alpha-2638-g80c1d007f79
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: