diff core/modules/update/tests/src/Kernel/UpdateDeleteFileIfStaleTest.php @ 18:af1871eacc83

Update to Drupal core 8.7.1
author Chris Cannam
date Thu, 09 May 2019 15:33:08 +0100
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/core/modules/update/tests/src/Kernel/UpdateDeleteFileIfStaleTest.php	Thu May 09 15:33:08 2019 +0100
@@ -0,0 +1,45 @@
+<?php
+
+namespace Drupal\Tests\update\Kernel;
+
+use Drupal\KernelTests\KernelTestBase;
+
+/**
+ * Tests the update_delete_file_if_stale() function.
+ *
+ * @group update
+ */
+class UpdateDeleteFileIfStaleTest extends KernelTestBase {
+
+  /**
+   * {@inheritdoc}
+   */
+  protected static $modules = [
+    'system',
+    'update',
+  ];
+
+  /**
+   * Tests the deletion of stale files.
+   */
+  public function testUpdateDeleteFileIfStale() {
+    $file_system = $this->container->get('file_system');
+
+    $file_name = $file_system->saveData($this->randomMachineName(), 'public://');
+    $this->assertNotNull($file_name);
+
+    // During testing the file change and the stale checking occurs in the same
+    // request, so the beginning of request will be before the file changes and
+    // REQUEST_TIME - $filectime is negative or zero. Set the maximum age to a
+    // number even smaller than that.
+    $this->config('system.file')
+      ->set('temporary_maximum_age', -100000)
+      ->save();
+
+    $file_path = $file_system->realpath($file_name);
+    update_delete_file_if_stale($file_path);
+
+    $this->assertFileNotExists($file_path);
+  }
+
+}