class MailTest

Same name in this branch
  1. 9 core/modules/system/tests/src/Kernel/Mail/MailTest.php \Drupal\Tests\system\Kernel\Mail\MailTest
Same name and namespace in other branches
  1. 8.9.x core/modules/system/tests/src/Kernel/Mail/MailTest.php \Drupal\Tests\system\Kernel\Mail\MailTest
  2. 8.9.x core/tests/Drupal/Tests/Component/Utility/MailTest.php \Drupal\Tests\Component\Utility\MailTest
  3. 10 core/modules/system/tests/src/Kernel/Mail/MailTest.php \Drupal\Tests\system\Kernel\Mail\MailTest
  4. 11.x core/modules/system/tests/src/Kernel/Mail/MailTest.php \Drupal\Tests\system\Kernel\Mail\MailTest

Test mail helpers implemented in Mail component.

@group Utility @group legacy

@coversDefaultClass \Drupal\Component\Utility\Mail

Hierarchy

  • class \Drupal\Tests\Component\Utility\MailTest uses \Symfony\Bridge\PhpUnit\ExpectDeprecationTrait implements \PHPUnit\Framework\TestCase

Expanded class hierarchy of MailTest

File

core/tests/Drupal/Tests/Component/Utility/MailTest.php, line 17

Namespace

Drupal\Tests\Component\Utility
View source
class MailTest extends TestCase {
  use ExpectDeprecationTrait;
  
  /**
   * Tests RFC-2822 'display-name' formatter.
   *
   * @dataProvider providerTestDisplayName
   * @covers ::formatDisplayName
   */
  public function testFormatDisplayName($string, $safe_display_name) {
    $this->expectDeprecation('\\Drupal\\Component\\Utility\\Unicode::mimeHeaderEncode() is deprecated in drupal:9.2.0 and is removed from drupal:10.0.0. Use \\Symfony\\Component\\Mime\\Header\\UnstructuredHeader instead. See https://www.drupal.org/node/3207439');
    $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\\""',
      ],
    ];
  }

}

Members

Title Sort descending Modifiers Object type Summary
MailTest::providerTestDisplayName public function Data provider for testFormatDisplayName().
MailTest::testFormatDisplayName public function Tests RFC-2822 &#039;display-name&#039; formatter.

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.