Mercurial > hg > cmmr2012-drupal-site
diff core/tests/Drupal/Tests/Component/Utility/MailTest.php @ 4:a9cd425dd02b
Update, including to Drupal core 8.6.10
author | Chris Cannam |
---|---|
date | Thu, 28 Feb 2019 13:11:55 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/core/tests/Drupal/Tests/Component/Utility/MailTest.php Thu Feb 28 13:11:55 2019 +0000 @@ -0,0 +1,60 @@ +<?php + +namespace Drupal\Tests\Component\Utility; + +use Drupal\Component\Utility\Mail; +use PHPUnit\Framework\TestCase; + +/** + * Test mail helpers implemented in Mail component. + * + * @group Utility + * + * @coversDefaultClass \Drupal\Component\Utility\Mail + */ +class MailTest extends TestCase { + + /** + * Tests RFC-2822 'display-name' formatter. + * + * @dataProvider providerTestDisplayName + * @covers ::formatDisplayName + */ + public function testFormatDisplayName($string, $safe_display_name) { + $this->assertEquals($safe_display_name, Mail::formatDisplayName($string)); + } + + /** + * Data provider for testFormatDisplayName(). + * + * @see testFormatDisplayName() + * + * @return array + * An array containing a string and its 'display-name' safe value. + */ + public function providerTestDisplayName() { + return [ + // Simple ASCII characters. + ['Test site', 'Test site'], + // ASCII with html entity. + ['Test & site', 'Test & site'], + // Non-ASCII characters. + ['Tést site', '=?UTF-8?B?VMOpc3Qgc2l0ZQ==?='], + // Non-ASCII with special characters. + ['Tést; site', '=?UTF-8?B?VMOpc3Q7IHNpdGU=?='], + // Non-ASCII with html entity. + ['Tést; site', '=?UTF-8?B?VMOpc3Q7IHNpdGU=?='], + // ASCII with special characters. + ['Test; site', '"Test; site"'], + // ASCII with special characters as html entity. + ['Test < site', '"Test < site"'], + // ASCII with special characters and '\'. + ['Test; \ "site"', '"Test; \\\\ \"site\""'], + // String already RFC-2822 compliant. + ['"Test; site"', '"Test; site"'], + // String already RFC-2822 compliant. + ['"Test; \\\\ \"site\""', '"Test; \\\\ \"site\""'], + ]; + } + +}