annotate core/tests/Drupal/Tests/Component/Utility/MailTest.php @ 5:12f9dff5fda9 tip

Update to Drupal core 8.7.1
author Chris Cannam
date Thu, 09 May 2019 15:34:47 +0100
parents a9cd425dd02b
children
rev   line source
Chris@4 1 <?php
Chris@4 2
Chris@4 3 namespace Drupal\Tests\Component\Utility;
Chris@4 4
Chris@4 5 use Drupal\Component\Utility\Mail;
Chris@4 6 use PHPUnit\Framework\TestCase;
Chris@4 7
Chris@4 8 /**
Chris@4 9 * Test mail helpers implemented in Mail component.
Chris@4 10 *
Chris@4 11 * @group Utility
Chris@4 12 *
Chris@4 13 * @coversDefaultClass \Drupal\Component\Utility\Mail
Chris@4 14 */
Chris@4 15 class MailTest extends TestCase {
Chris@4 16
Chris@4 17 /**
Chris@4 18 * Tests RFC-2822 'display-name' formatter.
Chris@4 19 *
Chris@4 20 * @dataProvider providerTestDisplayName
Chris@4 21 * @covers ::formatDisplayName
Chris@4 22 */
Chris@4 23 public function testFormatDisplayName($string, $safe_display_name) {
Chris@4 24 $this->assertEquals($safe_display_name, Mail::formatDisplayName($string));
Chris@4 25 }
Chris@4 26
Chris@4 27 /**
Chris@4 28 * Data provider for testFormatDisplayName().
Chris@4 29 *
Chris@4 30 * @see testFormatDisplayName()
Chris@4 31 *
Chris@4 32 * @return array
Chris@4 33 * An array containing a string and its 'display-name' safe value.
Chris@4 34 */
Chris@4 35 public function providerTestDisplayName() {
Chris@4 36 return [
Chris@4 37 // Simple ASCII characters.
Chris@4 38 ['Test site', 'Test site'],
Chris@4 39 // ASCII with html entity.
Chris@4 40 ['Test &amp; site', 'Test & site'],
Chris@4 41 // Non-ASCII characters.
Chris@4 42 ['Tést site', '=?UTF-8?B?VMOpc3Qgc2l0ZQ==?='],
Chris@4 43 // Non-ASCII with special characters.
Chris@4 44 ['Tést; site', '=?UTF-8?B?VMOpc3Q7IHNpdGU=?='],
Chris@4 45 // Non-ASCII with html entity.
Chris@4 46 ['T&eacute;st; site', '=?UTF-8?B?VMOpc3Q7IHNpdGU=?='],
Chris@4 47 // ASCII with special characters.
Chris@4 48 ['Test; site', '"Test; site"'],
Chris@4 49 // ASCII with special characters as html entity.
Chris@4 50 ['Test &lt; site', '"Test < site"'],
Chris@4 51 // ASCII with special characters and '\'.
Chris@4 52 ['Test; \ "site"', '"Test; \\\\ \"site\""'],
Chris@4 53 // String already RFC-2822 compliant.
Chris@4 54 ['"Test; site"', '"Test; site"'],
Chris@4 55 // String already RFC-2822 compliant.
Chris@4 56 ['"Test; \\\\ \"site\""', '"Test; \\\\ \"site\""'],
Chris@4 57 ];
Chris@4 58 }
Chris@4 59
Chris@4 60 }