You are here

public function RealisticDummyContentEnvironmentTest::testFiles in Realistic Dummy Content 3.x

Test that file names are properly parsed and combined.

File

api/tests/src/Unit/includes/RealisticDummyContentEnvironmentTest.php, line 54

Class

RealisticDummyContentEnvironmentTest
Tests for ...\includes\RealisticDummyContentEnvironment.

Namespace

Drupal\Tests\realistic_dummy_content_api\Unit\includes

Code

public function testFiles() {
  $data = [
    'one.txt' => new \stdClass(),
    'reAdme.txt' => new \stdClass(),
    'README.md' => new \stdClass(),
    'readme.jpg' => new \stdClass(),
    'two.txt' => new \stdClass(),
    'two.notanattribute.txt' => new \stdClass(),
    'two.txt.attribute.txt' => new \stdClass(),
    'two.txt.attribute1.txt' => new \stdClass(),
    'three.png' => new \stdClass(),
    'three.png.alt.txt' => new \stdClass(),
  ];
  try {
    $parsed = RealisticDummyContentEnvironment::sortCandidateFiles($data);
    $parsed_images = RealisticDummyContentEnvironment::sortCandidateFiles($data, [
      'png',
    ]);
  } catch (\Throwable $e) {
    $this
      ->assertFalse(TRUE, 'Got exception ' . $e
      ->getMessage());
  }
  $this
    ->assertTrue(count($parsed) == 4, '4 parsed files are returned, which excludes the readme riles (4 == ' . count($parsed) . ')');
  $this
    ->assertTrue(is_object($parsed['one.txt']['file']));
  $this
    ->assertTrue(is_object($parsed['two.txt']['file']));
  $this
    ->assertTrue(is_object($parsed['two.txt']['attributes']['attribute']));
  $this
    ->assertTrue(is_object($parsed['two.txt']['attributes']['attribute1']));
  $this
    ->assertTrue(is_object($parsed['three.png']['file']));
  $this
    ->assertTrue(is_object($parsed['three.png']['attributes']['alt']));
  $this
    ->assertFalse(isset($parsed_images['two.txt']['attributes']['attribute1']));
  $this
    ->assertTrue(is_object($parsed_images['three.png']['file']));
  $this
    ->assertTrue(is_object($parsed_images['three.png']['attributes']['alt']));
  $this
    ->assertTrue(is_object($parsed['two.notanattribute.txt']['file']));
}