You are here

class SanitizeNameTest in Transliterate filenames for uploads 8

@coversDefaultClass \Drupal\transliterate_filenames\SanitizeName @group transliterate_filenames

Hierarchy

Expanded class hierarchy of SanitizeNameTest

File

tests/src/Unit/SanitizeNameTest.php, line 14

Namespace

Drupal\Tests\transliterate_filenames\Unit
View source
class SanitizeNameTest extends UnitTestCase {

  /**
   * {@inheritdoc}
   */
  protected function setUp() {
    parent::setUp();
    $container = new ContainerBuilder();
    \Drupal::setContainer($container);
    $container
      ->set('transliterate_filenames.sanitize_name', new SanitizeName(new PhpTransliteration()));
  }

  /**
   * Tests sanitize filename.
   *
   * @param string $filename
   *   The tested file name.
   * @param string $expected
   *   The expected name of sanitized file.
   *
   * @dataProvider providerSanitizeName
   */
  public function testSanitizeName($filename, $expected) {
    $sanitize_filename = \Drupal::service('transliterate_filenames.sanitize_name');
    $this
      ->assertEquals($expected, $sanitize_filename
      ->sanitizeFilename($filename));
  }

  /**
   * Provides data for self::testSanitizeName().
   */
  public function providerSanitizeName() {
    return [
      // Transliterate Non-US-ASCII.
      [
        'ąęółżźćśń.pdf',
        'aeolzzcsn.pdf',
      ],
      // Remove unknown unicodes.
      [
        chr(0xf8) . chr(0x80) . chr(0x80) . '.txt',
        '.txt',
      ],
      // Force lowercase.
      [
        'LOWERCASE.txt',
        'lowercase.txt',
      ],
      // Replace whitespace.
      [
        'test whitespace.txt',
        'test-whitespace.txt',
      ],
      [
        'test   whitespace.txt',
        'test-whitespace.txt',
      ],
      // Remove multiple consecutive non-alphabetical characters.
      [
        '---___.txt',
        '-_.txt',
      ],
      [
        '--  --.txt',
        '-.txt',
      ],
    ];
  }

}

Members

Namesort descending Modifiers Type Description Overrides
PhpunitCompatibilityTrait::getMock Deprecated public function Returns a mock object for the specified class using the available method.
PhpunitCompatibilityTrait::setExpectedException Deprecated public function Compatibility layer for PHPUnit 6 to support PHPUnit 4 code.
SanitizeNameTest::providerSanitizeName public function Provides data for self::testSanitizeName().
SanitizeNameTest::setUp protected function Overrides UnitTestCase::setUp
SanitizeNameTest::testSanitizeName public function Tests sanitize filename.
UnitTestCase::$randomGenerator protected property The random generator.
UnitTestCase::$root protected property The app root. 1
UnitTestCase::assertArrayEquals protected function Asserts if two arrays are equal by sorting them first.
UnitTestCase::getBlockMockWithMachineName Deprecated protected function Mocks a block with a block plugin. 1
UnitTestCase::getClassResolverStub protected function Returns a stub class resolver.
UnitTestCase::getConfigFactoryStub public function Returns a stub config factory that behaves according to the passed array.
UnitTestCase::getConfigStorageStub public function Returns a stub config storage that returns the supplied configuration.
UnitTestCase::getContainerWithCacheTagsInvalidator protected function Sets up a container with a cache tags invalidator.
UnitTestCase::getRandomGenerator protected function Gets the random generator for the utility methods.
UnitTestCase::getStringTranslationStub public function Returns a stub translation manager that just returns the passed string.
UnitTestCase::randomMachineName public function Generates a unique random string containing letters and numbers.