3 namespace Drupal\Tests\file\Unit\Plugin\migrate\process\d6;
5 use Drupal\file\Plugin\migrate\process\d6\FileUri;
6 use Drupal\migrate\MigrateExecutable;
7 use Drupal\migrate\MigrateMessage;
8 use Drupal\migrate\Row;
9 use Drupal\Tests\migrate\Unit\MigrateTestCase;
12 * @coversDefaultClass \Drupal\file\Plugin\migrate\process\d6\FileUri
15 class FileUriTest extends MigrateTestCase {
17 protected $migrationConfiguration = [
21 public function testPublic() {
23 'sites/default/files/foo.jpg',
24 'sites/default/files',
28 $this->assertEquals('public://foo.jpg', $this->doTransform($value));
31 public function testPublicUnknownBasePath() {
33 '/path/to/public/files/foo.jpg',
34 'sites/default/files',
38 $this->assertEquals('public://path/to/public/files/foo.jpg', $this->doTransform($value));
41 public function testPrivate() {
43 'sites/default/files/baz.gif',
44 'sites/default/files',
48 $this->assertEquals('private://baz.gif', $this->doTransform($value));
51 public function testPrivateUnknownBasePath() {
53 '/path/to/private/files/baz.gif',
54 'sites/default/files',
58 $this->assertEquals('private://path/to/private/files/baz.gif', $this->doTransform($value));
61 public function testTemporary() {
64 'sites/default/files',
68 $this->assertEquals('temporary://bar.png', $this->doTransform($value));
71 protected function doTransform(array $value) {
72 $executable = new MigrateExecutable($this->getMigration(), new MigrateMessage());
75 return (new FileUri([], 'file_uri', []))
76 ->transform($value, $executable, $row, 'foobaz');