function FileReferenceResolverTest::testFileReferenceResolveFromTranslationRevision

Same name and namespace in other branches
  1. 11.x core/modules/file/tests/src/Kernel/FileReferenceResolverTest.php \Drupal\Tests\file\Kernel\FileReferenceResolverTest::testFileReferenceResolveFromTranslationRevision()

Tests that references in a translation are resolved.

File

core/modules/file/tests/src/Kernel/FileReferenceResolverTest.php, line 97

Class

FileReferenceResolverTest
Tests the FileReferenceResolver methods.

Namespace

Drupal\Tests\file\Kernel

Code

public function testFileReferenceResolveFromTranslationRevision() : void {
  ConfigurableLanguage::create([
    'id' => 'es',
    'label' => 'Spanish',
  ])->save();
  $es_file = $this->createFile();
  $entity = EntityTestMulRevPub::create([
    'name' => $this->randomMachineName(),
    'langcode' => 'en',
  ]);
  $entity->save();
  // Add a Spanish translation with a different file attached.
  $entity->addTranslation('es', [
    'name' => $this->randomMachineName(),
    'field_file' => $es_file,
  ])
    ->save();
  $resolver = $this->container
    ->get(FileReferenceResolver::class);
  // Ensure that file from spanish translation is also included in references.
  $es_references = iterator_to_array($resolver->getReferences($es_file), FALSE);
  $this->assertCount(1, $es_references);
  $this->assertInstanceOf(FileReferenceUsage::class, $es_references[0]);
  $this->assertEquals($entity->id(), $es_references[0]->id);
  $this->assertNull($es_references[0]->revisionId);
}

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