public function testWithFilename() { $contents =
$this->
randomMachineName();
// Using filename with non-latin characters.
// cSpell:disable-next-line
$filename = 'Текстовый файл.txt';
$result =
$this->fileRepository->
writeData($contents, 'public://' .
$filename);
$this->
assertNotFalse($result, 'Unnamed file saved correctly.'
);
$stream_wrapper_manager = \Drupal::
service('stream_wrapper_manager'
);
assert($stream_wrapper_manager instanceof StreamWrapperManagerInterface
);
$this->
assertEquals('public',
$stream_wrapper_manager::
getScheme($result->
getFileUri()), "File was placed in Drupal's files directory."
);
$this->
assertEquals($filename, \Drupal::
service('file_system'
)->
basename($result->
getFileUri()), 'File was named correctly.'
);
$this->
assertEquals($contents,
file_get_contents($result->
getFileUri()), 'Contents of the file are correct.'
);
$this->
assertEquals('text/plain',
$result->
getMimeType(), 'A MIME type was set.'
);
$this->
assertTrue($result->
isPermanent(), "The file's status was set to permanent."
);
// Check that the correct hooks were called.