diff --git a/core/modules/filter/src/Tests/FilterAPITest.php b/core/modules/filter/src/Tests/FilterAPITest.php index 588546e..10f9834 100644 --- a/core/modules/filter/src/Tests/FilterAPITest.php +++ b/core/modules/filter/src/Tests/FilterAPITest.php @@ -386,4 +386,27 @@ public function assertFilterFormatViolation(ConstraintViolationListInterface $vi } $this->assertTrue($filter_format_violation_found, format_string('Validation violation for invalid value "%invalid_value" found', array('%invalid_value' => $invalid_value))); } + + /** + * Tests that dependency removal works. + * + * Uninstalling a module that provides a filter should not remove a filter + * format that uses the filter. + */ + public function testDependencyRemoval() { + $this->installSchema('user', array('users_data')); + $filter_format = \Drupal\filter\Entity\FilterFormat::load('filtered_html'); + $filter_config = [ + 'weight' => 10, + 'status' => 1, + ]; + $filter_format->setFilterConfig('filter_test_restrict_tags_and_attributes', $filter_config); + $filter_format->save(); + $this->assertEqual(['module' => ['filter_test']], $filter_format->getDependencies()); + \Drupal::moduleHandler()->uninstall(array('filter_test')); + + \Drupal::entityManager()->getStorage('filter_format')->resetCache(); + $filter_format = \Drupal\filter\Entity\FilterFormat::load('filtered_html'); + $this->assertEqual([], $filter_format->getDependencies()); + } }