diff --git a/core/modules/file/src/Tests/SaveDataTest.php b/core/modules/file/src/Tests/SaveDataTest.php index 4ca49ad..f3a11a1 100644 --- a/core/modules/file/src/Tests/SaveDataTest.php +++ b/core/modules/file/src/Tests/SaveDataTest.php @@ -98,9 +98,13 @@ function testExistingReplace() { $existing = $this->createFile(); $contents = $this->randomMachineName(8); + \Drupal::state()->set('file_test.hook_entity_create', FALSE); $result = file_save_data($contents, $existing->getFileUri(), FILE_EXISTS_REPLACE); $this->assertTrue($result, 'File saved successfully.'); + $entity_create_hook_fired = \Drupal::state()->get('file_test.hook_entity_create'); + $this->assertFalse($entity_create_hook_fired, 'Entity create hook was not invoked for a file replace operation.'); + $this->assertEqual('public', file_uri_scheme($result->getFileUri()), "File was placed in Drupal's files directory."); $this->assertEqual($result->getFilename(), $existing->getFilename(), 'Filename was set to the basename of the existing file, rather than preserving the original name.'); $this->assertEqual($contents, file_get_contents($result->getFileUri()), 'Contents of the file are correct.'); diff --git a/core/modules/file/tests/file_test/file_test.module b/core/modules/file/tests/file_test/file_test.module index 7b25af4..64684bf 100644 --- a/core/modules/file/tests/file_test/file_test.module +++ b/core/modules/file/tests/file_test/file_test.module @@ -349,3 +349,10 @@ function file_test_entity_type_alter(&$entity_types) { ->setAccessClass('Drupal\file_test\FileTestAccessControlHandler'); } } + +/** + * Implements hook_ENTITY_TYPE_create() for file entities. + */ +function file_test_file_create() { + \Drupal::state()->set('file_test.hook_entity_create', TRUE); +}