diff --git a/core/core.libraries.yml b/core/core.libraries.yml index 26c0654c9f6..1a188ec2f1d 100644 --- a/core/core.libraries.yml +++ b/core/core.libraries.yml @@ -911,3 +911,4 @@ js-cookie: gpl-compatible: true js: assets/vendor/js-cookie/js.cookie.min.js: {} + deprecated: The %library_id% asset library is deprecated in Drupal 10.1.0 and will be removed in Drupal 11.0.0. There is no replacement. See https://www.drupal.org/node/3322720 diff --git a/core/tests/Drupal/KernelTests/Core/Asset/DeprecatedAssetsTest.php b/core/tests/Drupal/KernelTests/Core/Asset/DeprecatedAssetsTest.php new file mode 100644 index 00000000000..1225d776ac2 --- /dev/null +++ b/core/tests/Drupal/KernelTests/Core/Asset/DeprecatedAssetsTest.php @@ -0,0 +1,71 @@ +container->get('library.discovery'); + + // DrupalCI uses a precision of 100 in certain environments which breaks + // this test. + ini_set('serialize_precision', -1); + + $this->expectDeprecation("The $extension/$name " . $deprecation_suffix); + $library_definition = $library_discovery->getLibraryByName($extension, $name); + $this->assertEquals($expected_hashed_library_definition, md5(serialize($library_definition))); + } + + /** + * The data provider for testDeprecatedLibraries. + * + * Returns an array in the form of + * @code + * [ + * (string) description => [ + * (string) extension - The name of the extension that registered a library, usually 'core' + * (string) name - The name of a registered library + * (string) deprecation_suffix - The part of the deprecation message after the extension/name + * (string) expected_hashed_library_definition - The expected MD5 hash of the library + * ] + * ] + * @endcode + * + * @return array + * See description above. + */ + public function deprecatedLibrariesProvider(): array { + return [ + 'Tests deprecation of library core/js-cookie' => [ + 'core', + 'js-cookie', + 'asset library is deprecated in Drupal 10.1.0 and will be removed in Drupal 11.0.0. There is no replacement. See https://www.drupal.org/node/3322720', + '07ce73936a26710db875a3e9ee70cd6e', + ], + ]; + } + +}