Commit e018da50 authored by Gabor Hojtsy's avatar Gabor Hojtsy
Browse files

Issue #2889438 by chr.fritsch, seanB, marcoscano, Wim Leers, rogerpfaff,...

Issue #2889438 by chr.fritsch, seanB, marcoscano, Wim Leers, rogerpfaff, phenaproxima, larowlan: Delete media delivered icons on uninstall
parent 337963d1
......@@ -17,7 +17,15 @@ function media_install() {
$files = file_scan_directory($source, '/.*\.(svg|png|jpg|jpeg|gif)$/');
foreach ($files as $file) {
file_unmanaged_copy($file->uri, $destination, FILE_EXISTS_ERROR);
// When reinstalling the media module we don't want to copy the icons when
// they already exist. The icons could be replaced (by a contrib module or
// manually), so we don't want to replace the existing files. Removing the
// files when we uninstall could also be a problem if the files are
// referenced somewhere else. Since showing an error that it was not
// possible to copy the files is also confusing, we silently do nothing.
if (!file_exists($destination . DIRECTORY_SEPARATOR . $file->filename)) {
file_unmanaged_copy($file->uri, $destination, FILE_EXISTS_ERROR);
// Grant the "view media" permission to all users by default.
namespace Drupal\Tests\media\Functional;
use Drupal\Tests\BrowserTestBase;
* Tests media Install / Uninstall logic.
* @group media
class MediaInstallTest extends BrowserTestBase {
* {@inheritdoc}
public static $modules = ['media'];
* {@inheritdoc}
protected function setUp() {
$this->drupalLogin($this->drupalCreateUser(['administer modules']));
* Tests reinstalling after being uninstalled.
public function testReinstallAfterUninstall() {
$page = $this->getSession()->getPage();
$this->container->get('module_installer')->uninstall(['media'], FALSE);
// @todo Remove this if-statement in
if ($page->find('css', 'h1')->getText() == 'Are you sure you wish to enable experimental modules?') {
$this->assertSession()->pageTextNotContains('could not be moved/copied because a file by that name already exists in the destination directory');
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment