diff --git a/composer.lock b/composer.lock index ddd64ce042e0a1a5085285d2e806ec546d66d648..4e39b70777fc954e43e339a061e9f0262f32e27f 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "6d65787286d3536ae02fa1586bdc22ba", + "content-hash": "b0cfa461a1ac992d8c05aff98bfa21f1", "packages": [ { "name": "asm89/stack-cors", @@ -41,7 +41,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Alexander", @@ -50,7 +52,10 @@ ], "description": "Cross-origin resource sharing library and stack middleware", "homepage": "https://github.com/asm89/stack-cors", - "keywords": ["cors", "stack"], + "keywords": [ + "cors", + "stack" + ], "support": { "issues": "https://github.com/asm89/stack-cors/issues", "source": "https://github.com/asm89/stack-cors/tree/v2.1.1" @@ -107,7 +112,9 @@ "symfony/yaml": "^6.3", "vimeo/psalm": "^5.14.0" }, - "bin": ["bin/dcg"], + "bin": [ + "bin/dcg" + ], "type": "library", "autoload": { "psr-4": { @@ -115,7 +122,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "description": "Drupal code generator", "support": { "issues": "https://github.com/Chi-teck/drupal-code-generator/issues", @@ -180,7 +189,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Kyle Robinson Young", @@ -320,7 +331,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Nils Adermann", @@ -339,7 +352,12 @@ } ], "description": "Semver library that offers utilities, version constraint parsing and validation.", - "keywords": ["semantic", "semver", "validation", "versioning"], + "keywords": [ + "semantic", + "semver", + "validation", + "versioning" + ], "support": { "irc": "irc://irc.freenode.org/composer", "issues": "https://github.com/composer/semver/issues", @@ -401,7 +419,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Greg Anderson", @@ -459,7 +479,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Greg Anderson", @@ -508,7 +530,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Greg Anderson", @@ -557,7 +581,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Greg Anderson", @@ -609,7 +635,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Greg Anderson", @@ -670,7 +698,9 @@ "pear/archive_tar": "Allows tar archives to be created and extracted in taskPack and taskExtract, respectively.", "totten/lurkerlite": "For monitoring filesystem changes in taskWatch" }, - "bin": ["robo"], + "bin": [ + "robo" + ], "type": "library", "autoload": { "psr-4": { @@ -678,7 +708,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Davert", @@ -712,7 +744,9 @@ "symfony/console": "^2.8 || ^3 || ^4 || ^5 || ^6", "symfony/filesystem": "^2.5 || ^3 || ^4 || ^5 || ^6" }, - "bin": ["scripts/release"], + "bin": [ + "scripts/release" + ], "type": "library", "extra": { "branch-alias": { @@ -725,7 +759,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Alexander Menk", @@ -782,7 +818,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Greg Anderson", @@ -837,7 +875,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Greg Anderson", @@ -887,7 +927,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["BSD-3-Clause"], + "license": [ + "BSD-3-Clause" + ], "authors": [ { "name": "Cameron Eagans", @@ -956,7 +998,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Dragonfly Development Inc.", @@ -981,7 +1025,12 @@ ], "description": "Given a deep data structure, access data by dot notation.", "homepage": "https://github.com/dflydev/dflydev-dot-access-data", - "keywords": ["access", "data", "dot", "notation"], + "keywords": [ + "access", + "data", + "dot", + "notation" + ], "support": { "issues": "https://github.com/dflydev/dflydev-dot-access-data/issues", "source": "https://github.com/dflydev/dflydev-dot-access-data/tree/v3.0.2" @@ -1050,7 +1099,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Guilherme Blanco", @@ -1075,7 +1126,11 @@ ], "description": "Docblock Annotations Parser", "homepage": "https://www.doctrine-project.org/projects/annotations.html", - "keywords": ["annotations", "docblock", "parser"], + "keywords": [ + "annotations", + "docblock", + "parser" + ], "support": { "issues": "https://github.com/doctrine/annotations/issues", "source": "https://github.com/doctrine/annotations/tree/1.14.3" @@ -1118,7 +1173,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.", "homepage": "https://www.doctrine-project.org/", "support": { @@ -1159,7 +1216,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Guilherme Blanco", @@ -1176,7 +1235,13 @@ ], "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.", "homepage": "https://www.doctrine-project.org/projects/lexer.html", - "keywords": ["annotations", "docblock", "lexer", "parser", "php"], + "keywords": [ + "annotations", + "docblock", + "lexer", + "parser", + "php" + ], "support": { "issues": "https://github.com/doctrine/lexer/issues", "source": "https://github.com/doctrine/lexer/tree/2.1.0" @@ -1226,7 +1291,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "anand.toshniwal93", @@ -1295,7 +1362,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "Wilfrid Roze (eme)", @@ -1333,7 +1402,10 @@ ], "description": "Provides a drop-down menu interface to the core Drupal Toolbar.", "homepage": "http://drupal.org/project/admin_toolbar", - "keywords": ["Drupal", "Toolbar"], + "keywords": [ + "Drupal", + "Toolbar" + ], "support": { "source": "https://git.drupalcode.org/project/admin_toolbar", "issues": "https://www.drupal.org/project/issues/admin_toolbar" @@ -1369,7 +1441,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0+"], + "license": [ + "GPL-2.0+" + ], "authors": [ { "name": "ANDiTKO", @@ -1424,7 +1498,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "AdamPS", @@ -1474,7 +1550,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "Northern Commerce (formerly Digital Echidna)", @@ -1534,7 +1612,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "Dylan Donkersgoed", @@ -1588,7 +1668,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "Mike Keran", @@ -1655,7 +1737,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "acbramley", @@ -1717,7 +1801,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0+"], + "license": [ + "GPL-2.0+" + ], "authors": [ { "name": "jefuri", @@ -1775,7 +1861,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "Joshua Roberson", @@ -1825,7 +1913,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "Mark Carver (markcarver)", @@ -1887,7 +1977,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "asgorobets", @@ -1936,7 +2028,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "Anybody", @@ -2011,7 +2105,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0+"], + "license": [ + "GPL-2.0+" + ], "authors": [ { "name": "Christian Meilinger (meichr)", @@ -2025,7 +2121,9 @@ ], "description": "Provides integration of the CKEditor IndentBlock plugin with CKEditor.", "homepage": "https://www.drupal.org/project/ckeditor_indentblock", - "keywords": ["Drupal"], + "keywords": [ + "Drupal" + ], "support": { "source": "http://cgit.drupalcode.org/ckeditor_indentblock/", "issues": "https://www.drupal.org/project/issues/ckeditor_indentblock" @@ -2064,7 +2162,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0+"], + "license": [ + "GPL-2.0+" + ], "authors": [ { "name": "Tommy Lynge Jørgensen", @@ -2118,7 +2218,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "eelkeblok", @@ -2133,16 +2235,16 @@ }, { "name": "drupal/core", - "version": "10.1.6", + "version": "10.1.7", "source": { "type": "git", "url": "https://github.com/drupal/core.git", - "reference": "33695caf467e3e1e8c75d42215df57bee31be9ec" + "reference": "54415049a721ede65318e3980b402af59bc35913" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/drupal/core/zipball/33695caf467e3e1e8c75d42215df57bee31be9ec", - "reference": "33695caf467e3e1e8c75d42215df57bee31be9ec", + "url": "https://api.github.com/repos/drupal/core/zipball/54415049a721ede65318e3980b402af59bc35913", + "reference": "54415049a721ede65318e3980b402af59bc35913", "shasum": "" }, "require": { @@ -2250,7 +2352,9 @@ } }, "autoload": { - "files": ["includes/bootstrap.inc"], + "files": [ + "includes/bootstrap.inc" + ], "psr-4": { "Drupal\\Core\\": "lib/Drupal/Core", "Drupal\\Component\\": "lib/Drupal/Component" @@ -2280,25 +2384,27 @@ ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "description": "Drupal is an open source content management platform powering millions of websites and applications.", "support": { - "source": "https://github.com/drupal/core/tree/10.1.6" + "source": "https://github.com/drupal/core/tree/10.1.7" }, - "time": "2023-11-01T11:59:20+00:00" + "time": "2023-12-06T09:22:56+00:00" }, { "name": "drupal/core-composer-scaffold", - "version": "10.1.6", + "version": "10.1.7", "source": { "type": "git", "url": "https://github.com/drupal/core-composer-scaffold.git", - "reference": "1ccd7db5ff8a5425b5bbba9b9a05e366363c0a51" + "reference": "6a2d817ccb59fdb7e6b3720a1478b0d00b475445" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/drupal/core-composer-scaffold/zipball/1ccd7db5ff8a5425b5bbba9b9a05e366363c0a51", - "reference": "1ccd7db5ff8a5425b5bbba9b9a05e366363c0a51", + "url": "https://api.github.com/repos/drupal/core-composer-scaffold/zipball/6a2d817ccb59fdb7e6b3720a1478b0d00b475445", + "reference": "6a2d817ccb59fdb7e6b3720a1478b0d00b475445", "shasum": "" }, "require": { @@ -2324,27 +2430,31 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "description": "A flexible Composer project scaffold builder.", "homepage": "https://www.drupal.org/project/drupal", - "keywords": ["drupal"], + "keywords": [ + "drupal" + ], "support": { - "source": "https://github.com/drupal/core-composer-scaffold/tree/10.1.6" + "source": "https://github.com/drupal/core-composer-scaffold/tree/10.1.7" }, - "time": "2023-04-30T16:15:32+00:00" + "time": "2023-11-15T23:23:43+00:00" }, { "name": "drupal/core-recommended", - "version": "10.1.6", + "version": "10.1.7", "source": { "type": "git", "url": "https://github.com/drupal/core-recommended.git", - "reference": "13f5968854fe8bc02e659d8a4facc04a1a576ce5" + "reference": "e4726a4a0173a4b9acdac8cab5d4009d6085fd2e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/drupal/core-recommended/zipball/13f5968854fe8bc02e659d8a4facc04a1a576ce5", - "reference": "13f5968854fe8bc02e659d8a4facc04a1a576ce5", + "url": "https://api.github.com/repos/drupal/core-recommended/zipball/e4726a4a0173a4b9acdac8cab5d4009d6085fd2e", + "reference": "e4726a4a0173a4b9acdac8cab5d4009d6085fd2e", "shasum": "" }, "require": { @@ -2353,7 +2463,7 @@ "doctrine/annotations": "~1.14.3", "doctrine/deprecations": "~v1.1.1", "doctrine/lexer": "~2.1.0", - "drupal/core": "10.1.6", + "drupal/core": "10.1.7", "egulias/email-validator": "~4.0.1", "guzzlehttp/guzzle": "~7.7.0", "guzzlehttp/psr7": "~2.5.0", @@ -2405,12 +2515,14 @@ }, "type": "metapackage", "notification-url": "https://packagist.org/downloads/", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "description": "Core and its dependencies with known-compatible minor versions. Require this project INSTEAD OF drupal/core.", "support": { - "source": "https://github.com/drupal/core-recommended/tree/10.1.6" + "source": "https://github.com/drupal/core-recommended/tree/10.1.7" }, - "time": "2023-11-01T11:59:20+00:00" + "time": "2023-12-06T09:22:56+00:00" }, { "name": "drupal/crop", @@ -2441,7 +2553,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "Drupal Media Team", @@ -2499,7 +2613,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "Kris Vanderwater (EclipseGc)", @@ -2587,7 +2703,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "bkosborne", @@ -2633,7 +2751,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "DuaelFr", @@ -2678,7 +2798,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "cs_shadow", @@ -2749,7 +2871,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0+"], + "license": [ + "GPL-2.0+" + ], "authors": [ { "name": "Janez Urevc", @@ -2819,7 +2943,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "Berdir", @@ -2899,7 +3025,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "colan", @@ -2966,7 +3094,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "cs_shadow", @@ -3044,7 +3174,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "Berdir", @@ -3098,7 +3230,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "heddn", @@ -3148,7 +3282,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "Sven Decabooter", @@ -3200,7 +3336,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "Anybody", @@ -3266,7 +3404,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "japerry", @@ -3331,7 +3471,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "Alexander Ross (bleen)", @@ -3386,7 +3528,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "See contributors", @@ -3449,7 +3593,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "acquia", @@ -3510,7 +3656,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "Jeff Geerling", @@ -3578,7 +3726,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "bojanz", @@ -3664,7 +3814,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "bnjmnm", @@ -3760,7 +3912,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "bnjmnm", @@ -3823,7 +3977,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "bnjmnm", @@ -3886,7 +4042,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "bnjmnm", @@ -3937,7 +4095,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "bnjmnm", @@ -4000,7 +4160,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "bnjmnm", @@ -4052,7 +4214,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "Naveen Valecha", @@ -4066,7 +4230,10 @@ ], "description": "Provides jQuery UI Touch Punch library.", "homepage": "https://www.drupal.org/project/jquery_ui_touch_punch", - "keywords": ["Drupal", "jquery_ui_touch_punch"], + "keywords": [ + "Drupal", + "jquery_ui_touch_punch" + ], "support": { "source": "https://www.drupal.org/project/jquery_ui_touch_punch", "issues": "https://www.drupal.org/project/issues/jquery_ui_touch_punch" @@ -4101,7 +4268,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "joseph.olstad", @@ -4169,7 +4338,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "larowlan", @@ -4178,7 +4349,9 @@ ], "description": "Provides a widget to allow settings of link attributes for menu links.", "homepage": "https://www.drupal.org/project/link_attributes", - "keywords": ["Drupal"], + "keywords": [ + "Drupal" + ], "support": { "source": "https://git.drupalcode.org/project/link_attributes", "issues": "https://www.drupal.org/project/issues/link_attributes" @@ -4217,7 +4390,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "Emil Stjerneman", @@ -4270,7 +4445,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "cilefen", @@ -4330,7 +4507,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "acbramley", @@ -4396,7 +4575,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "bkosborne", @@ -4442,7 +4623,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0+"], + "license": [ + "GPL-2.0+" + ], "authors": [ { "name": "ahebrank", @@ -4451,7 +4634,9 @@ ], "description": "Add an edit button to the Media Library widget when an item is selected.", "homepage": "https://www.drupal.org/project/media_library_edit", - "keywords": ["Drupal"], + "keywords": [ + "Drupal" + ], "support": { "source": "http://cgit.drupalcode.org/media_library_edit", "issues": "https://www.drupal.org/project/issues/media_library_edit" @@ -4486,7 +4671,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "Dave Reid", @@ -4548,7 +4735,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "aaron", @@ -4622,7 +4811,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "See contributors", @@ -4636,7 +4827,10 @@ ], "description": "Manage meta tags for all entities.", "homepage": "https://www.drupal.org/project/metatag", - "keywords": ["Drupal", "seo"], + "keywords": [ + "Drupal", + "seo" + ], "support": { "source": "https://git.drupalcode.org/project/metatag", "issues": "https://www.drupal.org/project/issues/metatag", @@ -4673,7 +4867,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0+"], + "license": [ + "GPL-2.0+" + ], "authors": [ { "name": "Matthew Donadio (mpdonadio)", @@ -4729,7 +4925,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "andrey.troeglazov", @@ -4782,7 +4980,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "RandalV", @@ -4824,7 +5024,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "asghar", @@ -4891,9 +5093,13 @@ "phpcbf --report=full --extensions=php,module,inc,theme,info,install --standard=vendor/drupal/coder/coder_sniffer/Drupal tests/modules", "phpcbf tests/behat --standard=PSR2" ], - "phpunit": ["phpunit tests --colors=always"] + "phpunit": [ + "phpunit tests --colors=always" + ] }, - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "David Strauss", @@ -4971,7 +5177,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "Berdir", @@ -5043,7 +5251,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "Berdir", @@ -5099,7 +5309,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "Evgenii Nikitin (sinn)", @@ -5157,7 +5369,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0+"], + "license": [ + "GPL-2.0+" + ], "authors": [ { "name": "hass", @@ -5236,7 +5450,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "leymannx", @@ -5280,7 +5496,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0+"], + "license": [ + "GPL-2.0+" + ], "authors": [ { "name": "hass", @@ -5361,7 +5579,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "B-Prod", @@ -5411,7 +5631,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "Berdir", @@ -5465,7 +5687,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "joseph.olstad", @@ -5530,7 +5754,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "Eric Schaefer (Eric Schaefer)", @@ -5589,7 +5815,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "bnjmnm", @@ -5650,7 +5878,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "martin107", @@ -5698,7 +5928,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "Pawel Ginalski (gbyte)", @@ -5749,7 +5981,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0+"], + "license": [ + "GPL-2.0+" + ], "authors": [ { "name": "Berdir", @@ -5822,7 +6056,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "japerry", @@ -5894,7 +6130,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0+"], + "license": [ + "GPL-2.0+" + ], "authors": [ { "name": "Takim Islam", @@ -5947,7 +6185,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "Neslee Canil Pinto", @@ -5997,7 +6237,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0+"], + "license": [ + "GPL-2.0+" + ], "authors": [ { "name": "Yaroslav Lushnikov", @@ -6050,7 +6292,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "Berdir", @@ -6112,7 +6356,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "bizar1984", @@ -6174,7 +6420,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "Chi", @@ -6183,7 +6431,10 @@ ], "description": "A Twig extension with some useful functions and filters for Drupal development.", "homepage": "https://www.drupal.org/project/twig_tweak", - "keywords": ["Drupal", "Twig"], + "keywords": [ + "Drupal", + "Twig" + ], "support": { "source": "https://git.drupalcode.org/project/twig_tweak", "issues": "https://www.drupal.org/project/issues/twig_tweak" @@ -6223,7 +6474,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0+"], + "license": [ + "GPL-2.0+" + ], "authors": [ { "name": "arnested", @@ -6288,7 +6541,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0+"], + "license": [ + "GPL-2.0+" + ], "authors": [ { "name": "karschsp", @@ -6301,7 +6556,10 @@ ], "description": "Allows admins to protect users from being edited or cancelled, on a per-user basis.", "homepage": "https://www.drupal.org/project/userprotect", - "keywords": ["Drupal", "User Management"], + "keywords": [ + "Drupal", + "User Management" + ], "support": { "source": "http://cgit.drupalcode.org/userprotect", "issues": "https://www.drupal.org/project/issues/userprotect" @@ -6341,7 +6599,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "abhinesh", @@ -6395,7 +6655,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "Agnes Chisholm", @@ -6458,7 +6720,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "amateescu", @@ -6516,7 +6780,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "colan", @@ -6537,7 +6803,10 @@ ], "description": "Add autocomplete functionality to the views filter text fields.", "homepage": "https://www.drupal.org/project/views_autocomplete_filters", - "keywords": ["Drupal", "views_autocomplete_filters"], + "keywords": [ + "Drupal", + "views_autocomplete_filters" + ], "support": { "source": "https://git.drupalcode.org/project/views_autocomplete_filters", "issues": "https://www.drupal.org/project/issues/views_autocomplete_filters" @@ -6572,7 +6841,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "Dmitry Demenchuk", @@ -6648,7 +6919,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "Marcin Grabias", @@ -6700,7 +6973,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "pifagor", @@ -6755,7 +7030,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "Anybody", @@ -6867,7 +7144,9 @@ } }, "notification-url": "https://packages.drupal.org/8/downloads", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "Jacob Rockowitz (jrockowitz)", @@ -6921,10 +7200,16 @@ }, "type": "drupal-drush", "notification-url": "https://packagist.org/downloads/", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "description": "Drush commandfile for use with drupal/drupal-driver.", "homepage": "https://github.com/drush-ops/behat-drush-endpoint", - "keywords": ["Behat", "Drush", "testing"], + "keywords": [ + "Behat", + "Drush", + "testing" + ], "support": { "issues": "https://github.com/drush-ops/behat-drush-endpoint/issues", "source": "https://github.com/drush-ops/behat-drush-endpoint/tree/no-phpunit" @@ -6983,18 +7268,36 @@ "rector/rector": "^0.12", "squizlabs/php_codesniffer": "^3.7" }, - "bin": ["drush"], + "bin": [ + "drush" + ], "type": "library", "extra": { "installer-paths": { - "sut/core": ["type:drupal-core"], - "sut/libraries/{$name}": ["type:drupal-library"], - "sut/modules/unish/{$name}": ["drupal/devel"], - "sut/themes/unish/{$name}": ["drupal/empty_theme"], - "sut/modules/contrib/{$name}": ["type:drupal-module"], - "sut/profiles/contrib/{$name}": ["type:drupal-profile"], - "sut/themes/contrib/{$name}": ["type:drupal-theme"], - "sut/drush/contrib/{$name}": ["type:drupal-drush"] + "sut/core": [ + "type:drupal-core" + ], + "sut/libraries/{$name}": [ + "type:drupal-library" + ], + "sut/modules/unish/{$name}": [ + "drupal/devel" + ], + "sut/themes/unish/{$name}": [ + "drupal/empty_theme" + ], + "sut/modules/contrib/{$name}": [ + "type:drupal-module" + ], + "sut/profiles/contrib/{$name}": [ + "type:drupal-profile" + ], + "sut/themes/contrib/{$name}": [ + "type:drupal-theme" + ], + "sut/drush/contrib/{$name}": [ + "type:drupal-drush" + ] } }, "autoload": { @@ -7003,7 +7306,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "Moshe Weitzman", @@ -7093,7 +7398,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Eduardo Gulias Davis" @@ -7150,7 +7457,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "Daryll Doyle", @@ -7180,7 +7489,9 @@ }, "type": "library", "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Matias Meno", @@ -7190,7 +7501,12 @@ ], "description": "Handles drag and drop of files for you.", "homepage": "http://www.dropzonejs.com", - "keywords": ["drag and drop", "dragndrop", "file upload", "upload"], + "keywords": [ + "drag and drop", + "dragndrop", + "file upload", + "upload" + ], "support": { "issues": "https://github.com/dropzone/dropzone-packagist/issues", "source": "https://github.com/dropzone/dropzone-packagist/tree/v5.9.3" @@ -7226,14 +7542,20 @@ }, "type": "library", "autoload": { - "files": ["library/HTMLPurifier.composer.php"], + "files": [ + "library/HTMLPurifier.composer.php" + ], "psr-0": { "HTMLPurifier": "library/" }, - "exclude-from-classmap": ["/library/HTMLPurifier/Language/"] + "exclude-from-classmap": [ + "/library/HTMLPurifier/Language/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["LGPL-2.1-or-later"], + "license": [ + "LGPL-2.1-or-later" + ], "authors": [ { "name": "Edward Z. Yang", @@ -7243,7 +7565,9 @@ ], "description": "Standards compliant HTML filter written in PHP", "homepage": "http://htmlpurifier.org/", - "keywords": ["html"], + "keywords": [ + "html" + ], "support": { "issues": "https://github.com/ezyang/htmlpurifier/issues", "source": "https://github.com/ezyang/htmlpurifier/tree/v4.16.0" @@ -7292,7 +7616,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Oscar Otero", @@ -7303,7 +7629,14 @@ ], "description": "PHP gettext manager", "homepage": "https://github.com/php-gettext/Gettext", - "keywords": ["JS", "gettext", "i18n", "mo", "po", "translation"], + "keywords": [ + "JS", + "gettext", + "i18n", + "mo", + "po", + "translation" + ], "support": { "email": "oom@oscarotero.com", "issues": "https://github.com/php-gettext/Gettext/issues", @@ -7345,7 +7678,9 @@ "require-dev": { "phpunit/phpunit": "^4.8 || ^5.7 || ^6.5 || ^7.5 || ^8.4" }, - "bin": ["bin/export-plural-rules"], + "bin": [ + "bin/export-plural-rules" + ], "type": "library", "autoload": { "psr-4": { @@ -7353,7 +7688,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Michele Locati", @@ -7429,7 +7766,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Oscar Otero", @@ -7440,7 +7779,12 @@ ], "description": "Gettext translator functions", "homepage": "https://github.com/php-gettext/Translator", - "keywords": ["gettext", "i18n", "php", "translator"], + "keywords": [ + "gettext", + "i18n", + "php", + "translator" + ], "support": { "email": "oom@oscarotero.com", "issues": "https://github.com/php-gettext/Translator/issues", @@ -7496,10 +7840,17 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["BSD-3-Clause"], + "license": [ + "BSD-3-Clause" + ], "description": "Client library for reCAPTCHA, a free service that protects websites from spam and abuse.", "homepage": "https://www.google.com/recaptcha/", - "keywords": ["Abuse", "captcha", "recaptcha", "spam"], + "keywords": [ + "Abuse", + "captcha", + "recaptcha", + "spam" + ], "support": { "forum": "https://groups.google.com/forum/#!forum/recaptcha", "issues": "https://github.com/google/recaptcha/issues", @@ -7544,7 +7895,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Matthew Grasmick" @@ -7583,7 +7936,9 @@ "phpunit/phpunit": "^9", "squizlabs/php_codesniffer": "^3.0" }, - "bin": ["bin/yaml-cli"], + "bin": [ + "bin/yaml-cli" + ], "type": "library", "extra": { "branch-alias": { @@ -7596,7 +7951,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Matthew Grasmick" @@ -7655,13 +8012,17 @@ } }, "autoload": { - "files": ["src/functions_include.php"], + "files": [ + "src/functions_include.php" + ], "psr-4": { "GuzzleHttp\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Graham Campbell", @@ -7765,7 +8126,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Graham Campbell", @@ -7789,7 +8152,9 @@ } ], "description": "Guzzle promises library", - "keywords": ["promise"], + "keywords": [ + "promise" + ], "support": { "issues": "https://github.com/guzzle/promises/issues", "source": "https://github.com/guzzle/promises/tree/2.0.2" @@ -7855,7 +8220,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Graham Campbell", @@ -7973,7 +8340,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Phil Bennett", @@ -8037,7 +8406,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Matt Butcher", @@ -8102,7 +8473,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["BSD-3-Clause"], + "license": [ + "BSD-3-Clause" + ], "authors": [ { "name": "Marco Marchiò", @@ -8141,10 +8514,14 @@ "psr-0": { "Detection": "namespaced/" }, - "classmap": ["Mobile_Detect.php"] + "classmap": [ + "Mobile_Detect.php" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Serban Ghita", @@ -8196,7 +8573,9 @@ "ircmaxell/php-yacc": "^0.0.7", "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0" }, - "bin": ["bin/php-parse"], + "bin": [ + "bin/php-parse" + ], "type": "library", "extra": { "branch-alias": { @@ -8209,14 +8588,19 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["BSD-3-Clause"], + "license": [ + "BSD-3-Clause" + ], "authors": [ { "name": "Nikita Popov" } ], "description": "A PHP parser written in PHP", - "keywords": ["parser", "php"], + "keywords": [ + "parser", + "php" + ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", "source": "https://github.com/nikic/PHP-Parser/tree/v4.17.1" @@ -8257,7 +8641,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Stephen Beemsterboer", @@ -8297,7 +8683,9 @@ }, "type": "quicksilver-script", "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "description": "Push commits made via the Pantheon dashboard back to original GitHub repository.", "support": { "issues": "https://github.com/pantheon-systems/quicksilver-pushback/issues", @@ -8343,8 +8731,12 @@ } }, "notification-url": "https://packagist.org/downloads/", - "include-path": ["./"], - "license": ["BSD-3-Clause"], + "include-path": [ + "./" + ], + "license": [ + "BSD-3-Clause" + ], "authors": [ { "name": "Vincent Blavet", @@ -8361,7 +8753,10 @@ ], "description": "Tar file management class with compression support (gzip, bzip2, lzma2)", "homepage": "https://github.com/pear/Archive_Tar", - "keywords": ["archive", "tar"], + "keywords": [ + "archive", + "tar" + ], "support": { "issues": "http://pear.php.net/bugs/search.php?cmd=display&package_name[]=Archive_Tar", "source": "https://github.com/pear/Archive_Tar" @@ -8399,8 +8794,12 @@ } }, "notification-url": "https://packagist.org/downloads/", - "include-path": ["./"], - "license": ["BSD-2-Clause"], + "include-path": [ + "./" + ], + "license": [ + "BSD-2-Clause" + ], "authors": [ { "name": "Andrei Zmievski", @@ -8454,8 +8853,12 @@ } }, "notification-url": "https://packagist.org/downloads/", - "include-path": ["src/"], - "license": ["BSD-3-Clause"], + "include-path": [ + "src/" + ], + "license": [ + "BSD-3-Clause" + ], "authors": [ { "name": "Christian Weiske", @@ -8497,11 +8900,17 @@ } }, "autoload": { - "classmap": ["PEAR/"] + "classmap": [ + "PEAR/" + ] }, "notification-url": "https://packagist.org/downloads/", - "include-path": ["."], - "license": ["BSD-2-Clause"], + "include-path": [ + "." + ], + "license": [ + "BSD-2-Clause" + ], "authors": [ { "name": "Helgi Thormar", @@ -8514,7 +8923,9 @@ ], "description": "The PEAR Exception base class.", "homepage": "https://github.com/pear/PEAR_Exception", - "keywords": ["exception"], + "keywords": [ + "exception" + ], "support": { "issues": "http://pear.php.net/bugs/search.php?cmd=display&package_name[]=PEAR_Exception", "source": "https://github.com/pear/PEAR_Exception" @@ -8546,7 +8957,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Thomas Gossmann", @@ -8600,7 +9013,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Thomas Gossmann", @@ -8609,7 +9024,12 @@ ], "description": "Missing PHP language constructs", "homepage": "https://phootwork.github.io/lang/", - "keywords": ["array", "comparator", "comparison", "string"], + "keywords": [ + "array", + "comparator", + "comparison", + "string" + ], "support": { "issues": "https://github.com/phootwork/phootwork/issues", "source": "https://github.com/phootwork/lang/tree/v3.2.2" @@ -8664,7 +9084,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["LGPL-2.1-only"], + "license": [ + "LGPL-2.1-only" + ], "authors": [ { "name": "Marcus Bointon", @@ -8726,7 +9148,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Thomas Gossmann", @@ -8734,7 +9158,11 @@ } ], "description": "PHP Docblock parser and generator. An API to read and write Docblocks.", - "keywords": ["docblock", "generator", "parser"], + "keywords": [ + "docblock", + "generator", + "parser" + ], "support": { "issues": "https://github.com/phpowermove/docblock/issues", "source": "https://github.com/phpowermove/docblock/tree/v4.0" @@ -8757,7 +9185,9 @@ }, "type": "drupal-library", "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Dave Furfero", @@ -8766,7 +9196,11 @@ ], "description": "Extension to jQuery UI for mobile touch event support.", "homepage": "http://touchpunch.furf.com/", - "keywords": ["gestures", "mobile", "touch"], + "keywords": [ + "gestures", + "mobile", + "touch" + ], "support": { "issues": "https://github.com/politsin/jquery-ui-touch-punch/issues", "source": "https://github.com/politsin/jquery-ui-touch-punch/tree/1.0" @@ -8802,7 +9236,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "PHP-FIG", @@ -8810,7 +9246,11 @@ } ], "description": "Common interface for caching libraries", - "keywords": ["cache", "psr", "psr-6"], + "keywords": [ + "cache", + "psr", + "psr-6" + ], "support": { "source": "https://github.com/php-fig/cache/tree/3.0.0" }, @@ -8845,7 +9285,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "PHP-FIG", @@ -8896,7 +9338,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "PHP-FIG", @@ -8904,7 +9348,11 @@ } ], "description": "Standard interfaces for event handling.", - "keywords": ["events", "psr", "psr-14"], + "keywords": [ + "events", + "psr", + "psr-14" + ], "support": { "issues": "https://github.com/php-fig/event-dispatcher/issues", "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" @@ -8941,7 +9389,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "PHP-FIG", @@ -8950,7 +9400,12 @@ ], "description": "Common interface for HTTP clients", "homepage": "https://github.com/php-fig/http-client", - "keywords": ["http", "http-client", "psr", "psr-18"], + "keywords": [ + "http", + "http-client", + "psr", + "psr-18" + ], "support": { "source": "https://github.com/php-fig/http-client" }, @@ -8986,7 +9441,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "PHP-FIG", @@ -9038,7 +9495,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "PHP-FIG", @@ -9089,7 +9548,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "PHP-FIG", @@ -9098,7 +9559,11 @@ ], "description": "Common interface for logging libraries", "homepage": "https://github.com/php-fig/log", - "keywords": ["log", "psr", "psr-3"], + "keywords": [ + "log", + "psr", + "psr-3" + ], "support": { "source": "https://github.com/php-fig/log/tree/3.0.0" }, @@ -9138,7 +9603,9 @@ "ext-posix": "If you have PCNTL, you'll want the POSIX extension as well.", "ext-readline": "Enables support for arrow-key history navigation, and showing and manipulating command history." }, - "bin": ["bin/psysh"], + "bin": [ + "bin/psysh" + ], "type": "library", "extra": { "branch-alias": { @@ -9150,13 +9617,17 @@ } }, "autoload": { - "files": ["src/functions.php"], + "files": [ + "src/functions.php" + ], "psr-4": { "Psy\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Justin Hileman", @@ -9166,7 +9637,12 @@ ], "description": "An interactive shell for modern PHP.", "homepage": "http://psysh.org", - "keywords": ["REPL", "console", "interactive", "shell"], + "keywords": [ + "REPL", + "console", + "interactive", + "shell" + ], "support": { "issues": "https://github.com/bobthecow/psysh/issues", "source": "https://github.com/bobthecow/psysh/tree/v0.11.22" @@ -9196,10 +9672,14 @@ }, "type": "library", "autoload": { - "files": ["src/getallheaders.php"] + "files": [ + "src/getallheaders.php" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Ralph Khattar", @@ -9238,10 +9718,17 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["BSD-3-Clause"], + "license": [ + "BSD-3-Clause" + ], "description": "A PHP library for XML Security", "homepage": "https://github.com/robrichards/xmlseclibs", - "keywords": ["security", "signature", "xml", "xmldsig"], + "keywords": [ + "security", + "signature", + "xml", + "xmldsig" + ], "support": { "issues": "https://github.com/robrichards/xmlseclibs/issues", "source": "https://github.com/robrichards/xmlseclibs/tree/3.1.1" @@ -9276,10 +9763,14 @@ } }, "autoload": { - "classmap": ["src/"] + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["BSD-3-Clause"], + "license": [ + "BSD-3-Clause" + ], "authors": [ { "name": "Sebastian Bergmann", @@ -9292,7 +9783,12 @@ ], "description": "Diff implementation", "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": ["diff", "udiff", "unidiff", "unified diff"], + "keywords": [ + "diff", + "udiff", + "unidiff", + "unified diff" + ], "support": { "issues": "https://github.com/sebastianbergmann/diff/issues", "source": "https://github.com/sebastianbergmann/diff/tree/4.0.5" @@ -9342,7 +9838,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["LGPL-2.1-or-later"], + "license": [ + "LGPL-2.1-or-later" + ], "authors": [ { "name": "Tim van Dijen", @@ -9393,7 +9891,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["LGPL-2.1-only"], + "license": [ + "LGPL-2.1-only" + ], "description": "A Composer plugin that allows installing SimpleSAMLphp modules through Composer.", "support": { "issues": "https://github.com/simplesamlphp/composer-module-installer/issues", @@ -9443,7 +9943,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["LGPL-2.1-or-later"], + "license": [ + "LGPL-2.1-or-later" + ], "authors": [ { "name": "Andreas Åkre Solberg", @@ -9537,7 +10039,9 @@ } }, "autoload": { - "files": ["src/_autoload_modules.php"], + "files": [ + "src/_autoload_modules.php" + ], "psr-4": { "SimpleSAML\\": "src/SimpleSAML", "SimpleSAML\\Module\\core\\": "modules/core/src", @@ -9549,7 +10053,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["LGPL-2.1-or-later"], + "license": [ + "LGPL-2.1-or-later" + ], "authors": [ { "name": "Andreas Åkre Solberg", @@ -9600,7 +10106,9 @@ }, "type": "simplesamlphp-module", "notification-url": "https://packagist.org/downloads/", - "license": ["LGPL-2.1-or-later"], + "license": [ + "LGPL-2.1-or-later" + ], "authors": [ { "name": "Tim van Dijen", @@ -9644,7 +10152,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["LGPL-3.0-or-later"], + "license": [ + "LGPL-3.0-or-later" + ], "authors": [ { "name": "Olav Morken", @@ -9652,7 +10162,10 @@ } ], "description": "This module provides authentication against password hashes or .htpasswd files", - "keywords": ["authcrypt", "simplesamlphp"], + "keywords": [ + "authcrypt", + "simplesamlphp" + ], "support": { "issues": "https://github.com/tvdijen/simplesamlphp-module-authcrypt/issues", "source": "https://github.com/tvdijen/simplesamlphp-module-authcrypt" @@ -9691,7 +10204,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["LGPL-2.1-or-later"], + "license": [ + "LGPL-2.1-or-later" + ], "authors": [ { "name": "Andreas Åkre Solberg", @@ -9699,7 +10214,10 @@ } ], "description": "The metarefresh module will download and parse metadata documents and store them locally", - "keywords": ["metarefresh", "simplesamlphp"], + "keywords": [ + "metarefresh", + "simplesamlphp" + ], "support": { "issues": "https://github.com/simplesamlphp/simplesamlphp-module-metarefresh/issues", "source": "https://github.com/simplesamlphp/simplesamlphp-module-metarefresh" @@ -9740,7 +10258,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["LGPL-2.1-or-later"], + "license": [ + "LGPL-2.1-or-later" + ], "authors": [ { "name": "Jaime Perez", @@ -9753,7 +10273,10 @@ ], "description": "A library with classes and utilities for handling XML structures.", "homepage": "http://simplesamlphp.org", - "keywords": ["saml", "xml"], + "keywords": [ + "saml", + "xml" + ], "support": { "issues": "https://github.com/simplesamlphp/xml-common/issues", "source": "https://github.com/simplesamlphp/xml-common" @@ -9810,11 +10333,17 @@ "psr-4": { "Symfony\\Component\\Cache\\": "" }, - "classmap": ["Traits/ValueWrapper.php"], - "exclude-from-classmap": ["/Tests/"] + "classmap": [ + "Traits/ValueWrapper.php" + ], + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Nicolas Grekas", @@ -9827,7 +10356,10 @@ ], "description": "Provides extended PSR-6, PSR-16 (and tags) implementations", "homepage": "https://symfony.com", - "keywords": ["caching", "psr6"], + "keywords": [ + "caching", + "psr6" + ], "support": { "source": "https://github.com/symfony/cache/tree/v6.3.8" }, @@ -9881,7 +10413,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Nicolas Grekas", @@ -9957,10 +10491,14 @@ "psr-4": { "Symfony\\Component\\Config\\": "" }, - "exclude-from-classmap": ["/Tests/"] + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Fabien Potencier", @@ -10037,10 +10575,14 @@ "psr-4": { "Symfony\\Component\\Console\\": "" }, - "exclude-from-classmap": ["/Tests/"] + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Fabien Potencier", @@ -10053,7 +10595,12 @@ ], "description": "Eases the creation of beautiful and testable command line interfaces", "homepage": "https://symfony.com", - "keywords": ["cli", "command-line", "console", "terminal"], + "keywords": [ + "cli", + "command-line", + "console", + "terminal" + ], "support": { "source": "https://github.com/symfony/console/tree/v6.3.9" }, @@ -10115,10 +10662,14 @@ "psr-4": { "Symfony\\Component\\DependencyInjection\\": "" }, - "exclude-from-classmap": ["/Tests/"] + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Fabien Potencier", @@ -10178,10 +10729,14 @@ } }, "autoload": { - "files": ["function.php"] + "files": [ + "function.php" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Nicolas Grekas", @@ -10240,16 +10795,22 @@ "symfony/http-kernel": "^5.4|^6.0", "symfony/serializer": "^5.4|^6.0" }, - "bin": ["Resources/bin/patch-type-declarations"], + "bin": [ + "Resources/bin/patch-type-declarations" + ], "type": "library", "autoload": { "psr-4": { "Symfony\\Component\\ErrorHandler\\": "" }, - "exclude-from-classmap": ["/Tests/"] + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Fabien Potencier", @@ -10322,10 +10883,14 @@ "psr-4": { "Symfony\\Component\\EventDispatcher\\": "" }, - "exclude-from-classmap": ["/Tests/"] + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Fabien Potencier", @@ -10391,7 +10956,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Nicolas Grekas", @@ -10455,10 +11022,14 @@ "psr-4": { "Symfony\\Component\\Filesystem\\": "" }, - "exclude-from-classmap": ["/Tests/"] + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Fabien Potencier", @@ -10515,10 +11086,14 @@ "psr-4": { "Symfony\\Component\\Finder\\": "" }, - "exclude-from-classmap": ["/Tests/"] + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Fabien Potencier", @@ -10655,10 +11230,14 @@ "psr-4": { "Symfony\\Bundle\\FrameworkBundle\\": "" }, - "exclude-from-classmap": ["/Tests/"] + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Fabien Potencier", @@ -10728,10 +11307,14 @@ "psr-4": { "Symfony\\Component\\HttpFoundation\\": "" }, - "exclude-from-classmap": ["/Tests/"] + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Fabien Potencier", @@ -10837,10 +11420,14 @@ "psr-4": { "Symfony\\Component\\HttpKernel\\": "" }, - "exclude-from-classmap": ["/Tests/"] + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Fabien Potencier", @@ -10899,10 +11486,14 @@ "psr-4": { "Symfony\\Component\\Intl\\": "" }, - "exclude-from-classmap": ["/Tests/"] + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Bernhard Schussek", @@ -10991,10 +11582,14 @@ "psr-4": { "Symfony\\Component\\Mime\\": "" }, - "exclude-from-classmap": ["/Tests/"] + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Fabien Potencier", @@ -11007,7 +11602,10 @@ ], "description": "Allows manipulating MIME messages", "homepage": "https://symfony.com", - "keywords": ["mime", "mime-type"], + "keywords": [ + "mime", + "mime-type" + ], "support": { "source": "https://github.com/symfony/mime/tree/v6.3.5" }, @@ -11061,13 +11659,17 @@ } }, "autoload": { - "files": ["bootstrap.php"], + "files": [ + "bootstrap.php" + ], "psr-4": { "Symfony\\Polyfill\\Ctype\\": "" } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Gert de Pagter", @@ -11080,7 +11682,12 @@ ], "description": "Symfony polyfill for ctype functions", "homepage": "https://symfony.com", - "keywords": ["compatibility", "ctype", "polyfill", "portable"], + "keywords": [ + "compatibility", + "ctype", + "polyfill", + "portable" + ], "support": { "source": "https://github.com/symfony/polyfill-ctype/tree/v1.27.0" }, @@ -11134,13 +11741,17 @@ } }, "autoload": { - "files": ["bootstrap.php"], + "files": [ + "bootstrap.php" + ], "psr-4": { "Symfony\\Polyfill\\Iconv\\": "" } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Nicolas Grekas", @@ -11210,13 +11821,17 @@ } }, "autoload": { - "files": ["bootstrap.php"], + "files": [ + "bootstrap.php" + ], "psr-4": { "Symfony\\Polyfill\\Intl\\Grapheme\\": "" } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Nicolas Grekas", @@ -11289,13 +11904,17 @@ } }, "autoload": { - "files": ["bootstrap.php"], + "files": [ + "bootstrap.php" + ], "psr-4": { "Symfony\\Polyfill\\Intl\\Idn\\": "" } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Laurent Bassin", @@ -11370,14 +11989,20 @@ } }, "autoload": { - "files": ["bootstrap.php"], + "files": [ + "bootstrap.php" + ], "psr-4": { "Symfony\\Polyfill\\Intl\\Normalizer\\": "" }, - "classmap": ["Resources/stubs"] + "classmap": [ + "Resources/stubs" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Nicolas Grekas", @@ -11451,13 +12076,17 @@ } }, "autoload": { - "files": ["bootstrap.php"], + "files": [ + "bootstrap.php" + ], "psr-4": { "Symfony\\Polyfill\\Mbstring\\": "" } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Nicolas Grekas", @@ -11524,13 +12153,17 @@ } }, "autoload": { - "files": ["bootstrap.php"], + "files": [ + "bootstrap.php" + ], "psr-4": { "Symfony\\Polyfill\\Php72\\": "" } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Nicolas Grekas", @@ -11543,7 +12176,12 @@ ], "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", "homepage": "https://symfony.com", - "keywords": ["compatibility", "polyfill", "portable", "shim"], + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], "support": { "source": "https://github.com/symfony/polyfill-php72/tree/v1.28.0" }, @@ -11591,14 +12229,20 @@ } }, "autoload": { - "files": ["bootstrap.php"], + "files": [ + "bootstrap.php" + ], "psr-4": { "Symfony\\Polyfill\\Php80\\": "" }, - "classmap": ["Resources/stubs"] + "classmap": [ + "Resources/stubs" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Ion Bazan", @@ -11615,7 +12259,12 @@ ], "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", "homepage": "https://symfony.com", - "keywords": ["compatibility", "polyfill", "portable", "shim"], + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], "support": { "source": "https://github.com/symfony/polyfill-php80/tree/v1.28.0" }, @@ -11663,14 +12312,20 @@ } }, "autoload": { - "files": ["bootstrap.php"], + "files": [ + "bootstrap.php" + ], "psr-4": { "Symfony\\Polyfill\\Php81\\": "" }, - "classmap": ["Resources/stubs"] + "classmap": [ + "Resources/stubs" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Nicolas Grekas", @@ -11683,7 +12338,12 @@ ], "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions", "homepage": "https://symfony.com", - "keywords": ["compatibility", "polyfill", "portable", "shim"], + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], "support": { "source": "https://github.com/symfony/polyfill-php81/tree/v1.28.0" }, @@ -11732,13 +12392,17 @@ } }, "autoload": { - "files": ["bootstrap.php"], + "files": [ + "bootstrap.php" + ], "psr-4": { "Symfony\\Polyfill\\Php83\\": "" } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Nicolas Grekas", @@ -11751,7 +12415,12 @@ ], "description": "Symfony polyfill backporting some PHP 8.3+ features to lower PHP versions", "homepage": "https://symfony.com", - "keywords": ["compatibility", "polyfill", "portable", "shim"], + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], "support": { "source": "https://github.com/symfony/polyfill-php83/tree/v1.27.0" }, @@ -11793,10 +12462,14 @@ "psr-4": { "Symfony\\Component\\Process\\": "" }, - "exclude-from-classmap": ["/Tests/"] + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Fabien Potencier", @@ -11870,10 +12543,14 @@ "psr-4": { "Symfony\\Bridge\\PsrHttpMessage\\": "" }, - "exclude-from-classmap": ["/Tests/"] + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Fabien Potencier", @@ -11886,7 +12563,12 @@ ], "description": "PSR HTTP message bridge", "homepage": "http://symfony.com", - "keywords": ["http", "http-message", "psr-17", "psr-7"], + "keywords": [ + "http", + "http-message", + "psr-17", + "psr-7" + ], "support": { "issues": "https://github.com/symfony/psr-http-message-bridge/issues", "source": "https://github.com/symfony/psr-http-message-bridge/tree/v2.2.0" @@ -11945,10 +12627,14 @@ "psr-4": { "Symfony\\Component\\Routing\\": "" }, - "exclude-from-classmap": ["/Tests/"] + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Fabien Potencier", @@ -11961,7 +12647,12 @@ ], "description": "Maps an HTTP request to a set of configuration variables", "homepage": "https://symfony.com", - "keywords": ["router", "routing", "uri", "url"], + "keywords": [ + "router", + "routing", + "uri", + "url" + ], "support": { "source": "https://github.com/symfony/routing/tree/v6.3.10" }, @@ -12036,10 +12727,14 @@ "psr-4": { "Symfony\\Component\\Serializer\\": "" }, - "exclude-from-classmap": ["/Tests/"] + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Fabien Potencier", @@ -12106,10 +12801,14 @@ "psr-4": { "Symfony\\Contracts\\Service\\": "" }, - "exclude-from-classmap": ["/Test/"] + "exclude-from-classmap": [ + "/Test/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Nicolas Grekas", @@ -12182,14 +12881,20 @@ }, "type": "library", "autoload": { - "files": ["Resources/functions.php"], + "files": [ + "Resources/functions.php" + ], "psr-4": { "Symfony\\Component\\String\\": "" }, - "exclude-from-classmap": ["/Tests/"] + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Nicolas Grekas", @@ -12260,10 +12965,14 @@ "psr-4": { "Symfony\\Contracts\\Translation\\": "" }, - "exclude-from-classmap": ["/Test/"] + "exclude-from-classmap": [ + "/Test/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Nicolas Grekas", @@ -12372,10 +13081,14 @@ "psr-4": { "Symfony\\Bridge\\Twig\\": "" }, - "exclude-from-classmap": ["/Tests/"] + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Fabien Potencier", @@ -12464,10 +13177,14 @@ "psr-4": { "Symfony\\Component\\Validator\\": "" }, - "exclude-from-classmap": ["/Tests/"] + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Fabien Potencier", @@ -12529,17 +13246,25 @@ "symfony/uid": "^5.4|^6.0", "twig/twig": "^2.13|^3.0.4" }, - "bin": ["Resources/bin/var-dump-server"], + "bin": [ + "Resources/bin/var-dump-server" + ], "type": "library", "autoload": { - "files": ["Resources/functions/dump.php"], + "files": [ + "Resources/functions/dump.php" + ], "psr-4": { "Symfony\\Component\\VarDumper\\": "" }, - "exclude-from-classmap": ["/Tests/"] + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Nicolas Grekas", @@ -12552,7 +13277,10 @@ ], "description": "Provides mechanisms for walking through any arbitrary PHP variable", "homepage": "https://symfony.com", - "keywords": ["debug", "dump"], + "keywords": [ + "debug", + "dump" + ], "support": { "source": "https://github.com/symfony/var-dumper/tree/v6.3.8" }, @@ -12597,10 +13325,14 @@ "psr-4": { "Symfony\\Component\\VarExporter\\": "" }, - "exclude-from-classmap": ["/Tests/"] + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Nicolas Grekas", @@ -12667,16 +13399,22 @@ "require-dev": { "symfony/console": "^5.4|^6.0" }, - "bin": ["Resources/bin/yaml-lint"], + "bin": [ + "Resources/bin/yaml-lint" + ], "type": "library", "autoload": { "psr-4": { "Symfony\\Component\\Yaml\\": "" }, - "exclude-from-classmap": ["/Tests/"] + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Fabien Potencier", @@ -12735,10 +13473,14 @@ "psr-4": { "Twig\\Extra\\Intl\\": "" }, - "exclude-from-classmap": ["/Tests/"] + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Fabien Potencier", @@ -12749,7 +13491,10 @@ ], "description": "A Twig extension for Intl", "homepage": "https://twig.symfony.com", - "keywords": ["intl", "twig"], + "keywords": [ + "intl", + "twig" + ], "support": { "source": "https://github.com/twigphp/intl-extra/tree/v3.8.0" }, @@ -12795,7 +13540,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["BSD-3-Clause"], + "license": [ + "BSD-3-Clause" + ], "authors": [ { "name": "Fabien Potencier", @@ -12815,7 +13562,9 @@ ], "description": "Twig, the flexible, fast, and secure template language for PHP", "homepage": "https://twig.symfony.com", - "keywords": ["templating"], + "keywords": [ + "templating" + ], "support": { "issues": "https://github.com/twigphp/Twig/issues", "source": "https://github.com/twigphp/Twig/tree/v3.6.1" @@ -12894,7 +13643,9 @@ } } }, - "license": ["None"], + "license": [ + "None" + ], "description": "Simplesamlphp configuration and utilities for wcm sites." }, { @@ -12920,10 +13671,14 @@ }, "type": "library", "autoload": { - "classmap": ["src/DrupalFinder.php"] + "classmap": [ + "src/DrupalFinder.php" + ] }, "notification-url": "https://packagist.org/downloads/", - "license": ["GPL-2.0-or-later"], + "license": [ + "GPL-2.0-or-later" + ], "authors": [ { "name": "Florian Weber", @@ -12974,7 +13729,9 @@ } }, "notification-url": "https://packagist.org/downloads/", - "license": ["MIT"], + "license": [ + "MIT" + ], "authors": [ { "name": "Bernhard Schussek", @@ -12982,7 +13739,11 @@ } ], "description": "Assertions to validate method input/output with nice error messages.", - "keywords": ["assert", "check", "validate"], + "keywords": [ + "assert", + "check", + "validate" + ], "support": { "issues": "https://github.com/webmozarts/assert/issues", "source": "https://github.com/webmozarts/assert/tree/1.11.0" diff --git a/vendor/composer/autoload_classmap.php b/vendor/composer/autoload_classmap.php index 6db4b85ca9e462291b28f909bd5ecfc104974e23..b50eb9b24d5197c598cb1d437f3eacb58b1786fc 100644 --- a/vendor/composer/autoload_classmap.php +++ b/vendor/composer/autoload_classmap.php @@ -1787,6 +1787,8 @@ 'Drupal\\Core\\Language\\LanguageManager' => $baseDir . '/web/core/lib/Drupal/Core/Language/LanguageManager.php', 'Drupal\\Core\\Language\\LanguageManagerInterface' => $baseDir . '/web/core/lib/Drupal/Core/Language/LanguageManagerInterface.php', 'Drupal\\Core\\Layout\\Annotation\\Layout' => $baseDir . '/web/core/lib/Drupal/Core/Layout/Annotation/Layout.php', + 'Drupal\\Core\\Layout\\Icon\\IconBuilderInterface' => $baseDir . '/web/core/lib/Drupal/Core/Layout/Icon/IconBuilderInterface.php', + 'Drupal\\Core\\Layout\\Icon\\SvgIconBuilder' => $baseDir . '/web/core/lib/Drupal/Core/Layout/Icon/SvgIconBuilder.php', 'Drupal\\Core\\Layout\\LayoutDefault' => $baseDir . '/web/core/lib/Drupal/Core/Layout/LayoutDefault.php', 'Drupal\\Core\\Layout\\LayoutDefinition' => $baseDir . '/web/core/lib/Drupal/Core/Layout/LayoutDefinition.php', 'Drupal\\Core\\Layout\\LayoutInterface' => $baseDir . '/web/core/lib/Drupal/Core/Layout/LayoutInterface.php', diff --git a/vendor/composer/autoload_static.php b/vendor/composer/autoload_static.php index 7888cc2c10d98238a6a497516c4357f31007b192..6661619c25224a7c025d083e5b9489a5a2646860 100644 --- a/vendor/composer/autoload_static.php +++ b/vendor/composer/autoload_static.php @@ -2421,6 +2421,8 @@ class ComposerStaticInit5c689ffcd54b9e495ed983fdce09b530 'Drupal\\Core\\Language\\LanguageManager' => __DIR__ . '/../..' . '/web/core/lib/Drupal/Core/Language/LanguageManager.php', 'Drupal\\Core\\Language\\LanguageManagerInterface' => __DIR__ . '/../..' . '/web/core/lib/Drupal/Core/Language/LanguageManagerInterface.php', 'Drupal\\Core\\Layout\\Annotation\\Layout' => __DIR__ . '/../..' . '/web/core/lib/Drupal/Core/Layout/Annotation/Layout.php', + 'Drupal\\Core\\Layout\\Icon\\IconBuilderInterface' => __DIR__ . '/../..' . '/web/core/lib/Drupal/Core/Layout/Icon/IconBuilderInterface.php', + 'Drupal\\Core\\Layout\\Icon\\SvgIconBuilder' => __DIR__ . '/../..' . '/web/core/lib/Drupal/Core/Layout/Icon/SvgIconBuilder.php', 'Drupal\\Core\\Layout\\LayoutDefault' => __DIR__ . '/../..' . '/web/core/lib/Drupal/Core/Layout/LayoutDefault.php', 'Drupal\\Core\\Layout\\LayoutDefinition' => __DIR__ . '/../..' . '/web/core/lib/Drupal/Core/Layout/LayoutDefinition.php', 'Drupal\\Core\\Layout\\LayoutInterface' => __DIR__ . '/../..' . '/web/core/lib/Drupal/Core/Layout/LayoutInterface.php', diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json index ffa3354efa8fa6c9b12bc4239043c6f0f0619bed..f3f026ac506f5cb372d9c93290d49a3f5fa99fa0 100644 --- a/vendor/composer/installed.json +++ b/vendor/composer/installed.json @@ -2341,17 +2341,17 @@ }, { "name": "drupal/core", - "version": "10.1.6", - "version_normalized": "10.1.6.0", + "version": "10.1.7", + "version_normalized": "10.1.7.0", "source": { "type": "git", "url": "https://github.com/drupal/core.git", - "reference": "33695caf467e3e1e8c75d42215df57bee31be9ec" + "reference": "54415049a721ede65318e3980b402af59bc35913" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/drupal/core/zipball/33695caf467e3e1e8c75d42215df57bee31be9ec", - "reference": "33695caf467e3e1e8c75d42215df57bee31be9ec", + "url": "https://api.github.com/repos/drupal/core/zipball/54415049a721ede65318e3980b402af59bc35913", + "reference": "54415049a721ede65318e3980b402af59bc35913", "shasum": "" }, "require": { @@ -2428,7 +2428,7 @@ "suggest": { "ext-zip": "Needed to extend the plugin.manager.archiver service capability with the handling of files in the ZIP format." }, - "time": "2023-11-01T11:59:20+00:00", + "time": "2023-12-06T09:22:56+00:00", "type": "drupal-core", "extra": { "drupal-scaffold": { @@ -2501,23 +2501,23 @@ ], "description": "Drupal is an open source content management platform powering millions of websites and applications.", "support": { - "source": "https://github.com/drupal/core/tree/10.1.6" + "source": "https://github.com/drupal/core/tree/10.1.7" }, "install-path": "../../web/core" }, { "name": "drupal/core-composer-scaffold", - "version": "10.1.6", - "version_normalized": "10.1.6.0", + "version": "10.1.7", + "version_normalized": "10.1.7.0", "source": { "type": "git", "url": "https://github.com/drupal/core-composer-scaffold.git", - "reference": "1ccd7db5ff8a5425b5bbba9b9a05e366363c0a51" + "reference": "6a2d817ccb59fdb7e6b3720a1478b0d00b475445" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/drupal/core-composer-scaffold/zipball/1ccd7db5ff8a5425b5bbba9b9a05e366363c0a51", - "reference": "1ccd7db5ff8a5425b5bbba9b9a05e366363c0a51", + "url": "https://api.github.com/repos/drupal/core-composer-scaffold/zipball/6a2d817ccb59fdb7e6b3720a1478b0d00b475445", + "reference": "6a2d817ccb59fdb7e6b3720a1478b0d00b475445", "shasum": "" }, "require": { @@ -2530,7 +2530,7 @@ "require-dev": { "composer/composer": "^1.8@stable" }, - "time": "2023-04-30T16:15:32+00:00", + "time": "2023-11-15T23:23:43+00:00", "type": "composer-plugin", "extra": { "class": "Drupal\\Composer\\Plugin\\Scaffold\\Plugin", @@ -2554,23 +2554,23 @@ "drupal" ], "support": { - "source": "https://github.com/drupal/core-composer-scaffold/tree/10.1.6" + "source": "https://github.com/drupal/core-composer-scaffold/tree/10.1.7" }, "install-path": "../drupal/core-composer-scaffold" }, { "name": "drupal/core-recommended", - "version": "10.1.6", - "version_normalized": "10.1.6.0", + "version": "10.1.7", + "version_normalized": "10.1.7.0", "source": { "type": "git", "url": "https://github.com/drupal/core-recommended.git", - "reference": "13f5968854fe8bc02e659d8a4facc04a1a576ce5" + "reference": "e4726a4a0173a4b9acdac8cab5d4009d6085fd2e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/drupal/core-recommended/zipball/13f5968854fe8bc02e659d8a4facc04a1a576ce5", - "reference": "13f5968854fe8bc02e659d8a4facc04a1a576ce5", + "url": "https://api.github.com/repos/drupal/core-recommended/zipball/e4726a4a0173a4b9acdac8cab5d4009d6085fd2e", + "reference": "e4726a4a0173a4b9acdac8cab5d4009d6085fd2e", "shasum": "" }, "require": { @@ -2579,7 +2579,7 @@ "doctrine/annotations": "~1.14.3", "doctrine/deprecations": "~v1.1.1", "doctrine/lexer": "~2.1.0", - "drupal/core": "10.1.6", + "drupal/core": "10.1.7", "egulias/email-validator": "~4.0.1", "guzzlehttp/guzzle": "~7.7.0", "guzzlehttp/psr7": "~2.5.0", @@ -2629,7 +2629,7 @@ "conflict": { "webflo/drupal-core-strict": "*" }, - "time": "2023-11-01T11:59:20+00:00", + "time": "2023-12-06T09:22:56+00:00", "type": "metapackage", "notification-url": "https://packagist.org/downloads/", "license": [ @@ -2637,7 +2637,7 @@ ], "description": "Core and its dependencies with known-compatible minor versions. Require this project INSTEAD OF drupal/core.", "support": { - "source": "https://github.com/drupal/core-recommended/tree/10.1.6" + "source": "https://github.com/drupal/core-recommended/tree/10.1.7" }, "install-path": null }, diff --git a/vendor/composer/installed.php b/vendor/composer/installed.php index 901804c77fa7dff78d32d3fa8c5f5fb41bc85ddb..e3fcd7984fb6db8dfc67f89a8503e9d830da3fdb 100644 --- a/vendor/composer/installed.php +++ b/vendor/composer/installed.php @@ -3,7 +3,7 @@ 'name' => 'osu-asc-webservices/d8-upstream', 'pretty_version' => 'dev-main', 'version' => 'dev-main', - 'reference' => '8af06bbba89858bf4993340c07ccc65d6910aec4', + 'reference' => 'edbfaf1ddccdb6a39283b7a9eb6645dc02a2fe18', 'type' => 'project', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), @@ -368,9 +368,9 @@ 'dev_requirement' => false, ), 'drupal/core' => array( - 'pretty_version' => '10.1.6', - 'version' => '10.1.6.0', - 'reference' => '33695caf467e3e1e8c75d42215df57bee31be9ec', + 'pretty_version' => '10.1.7', + 'version' => '10.1.7.0', + 'reference' => '54415049a721ede65318e3980b402af59bc35913', 'type' => 'drupal-core', 'install_path' => __DIR__ . '/../../web/core', 'aliases' => array(), @@ -379,25 +379,25 @@ 'drupal/core-annotation' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '10.1.6', + 0 => '10.1.7', ), ), 'drupal/core-assertion' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '10.1.6', + 0 => '10.1.7', ), ), 'drupal/core-class-finder' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '10.1.6', + 0 => '10.1.7', ), ), 'drupal/core-composer-scaffold' => array( - 'pretty_version' => '10.1.6', - 'version' => '10.1.6.0', - 'reference' => '1ccd7db5ff8a5425b5bbba9b9a05e366363c0a51', + 'pretty_version' => '10.1.7', + 'version' => '10.1.7.0', + 'reference' => '6a2d817ccb59fdb7e6b3720a1478b0d00b475445', 'type' => 'composer-plugin', 'install_path' => __DIR__ . '/../drupal/core-composer-scaffold', 'aliases' => array(), @@ -406,97 +406,97 @@ 'drupal/core-datetime' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '10.1.6', + 0 => '10.1.7', ), ), 'drupal/core-dependency-injection' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '10.1.6', + 0 => '10.1.7', ), ), 'drupal/core-diff' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '10.1.6', + 0 => '10.1.7', ), ), 'drupal/core-discovery' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '10.1.6', + 0 => '10.1.7', ), ), 'drupal/core-event-dispatcher' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '10.1.6', + 0 => '10.1.7', ), ), 'drupal/core-file-cache' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '10.1.6', + 0 => '10.1.7', ), ), 'drupal/core-file-security' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '10.1.6', + 0 => '10.1.7', ), ), 'drupal/core-filesystem' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '10.1.6', + 0 => '10.1.7', ), ), 'drupal/core-front-matter' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '10.1.6', + 0 => '10.1.7', ), ), 'drupal/core-gettext' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '10.1.6', + 0 => '10.1.7', ), ), 'drupal/core-graph' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '10.1.6', + 0 => '10.1.7', ), ), 'drupal/core-http-foundation' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '10.1.6', + 0 => '10.1.7', ), ), 'drupal/core-php-storage' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '10.1.6', + 0 => '10.1.7', ), ), 'drupal/core-plugin' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '10.1.6', + 0 => '10.1.7', ), ), 'drupal/core-proxy-builder' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '10.1.6', + 0 => '10.1.7', ), ), 'drupal/core-recommended' => array( - 'pretty_version' => '10.1.6', - 'version' => '10.1.6.0', - 'reference' => '13f5968854fe8bc02e659d8a4facc04a1a576ce5', + 'pretty_version' => '10.1.7', + 'version' => '10.1.7.0', + 'reference' => 'e4726a4a0173a4b9acdac8cab5d4009d6085fd2e', 'type' => 'metapackage', 'install_path' => NULL, 'aliases' => array(), @@ -505,37 +505,37 @@ 'drupal/core-render' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '10.1.6', + 0 => '10.1.7', ), ), 'drupal/core-serialization' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '10.1.6', + 0 => '10.1.7', ), ), 'drupal/core-transliteration' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '10.1.6', + 0 => '10.1.7', ), ), 'drupal/core-utility' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '10.1.6', + 0 => '10.1.7', ), ), 'drupal/core-uuid' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '10.1.6', + 0 => '10.1.7', ), ), 'drupal/core-version' => array( 'dev_requirement' => false, 'replaced' => array( - 0 => '10.1.6', + 0 => '10.1.7', ), ), 'drupal/crop' => array( @@ -1402,7 +1402,7 @@ 'osu-asc-webservices/d8-upstream' => array( 'pretty_version' => 'dev-main', 'version' => 'dev-main', - 'reference' => '8af06bbba89858bf4993340c07ccc65d6910aec4', + 'reference' => 'edbfaf1ddccdb6a39283b7a9eb6645dc02a2fe18', 'type' => 'project', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), diff --git a/vendor/drupal/core-composer-scaffold/README.md b/vendor/drupal/core-composer-scaffold/README.md index 0d37c5db68b72f6bb0c3c8a7d64899ba5a23c69f..32bd25c37d90611b68ffce639c5372cf7a3817a5 100644 --- a/vendor/drupal/core-composer-scaffold/README.md +++ b/vendor/drupal/core-composer-scaffold/README.md @@ -1,9 +1,14 @@ # Drupal Composer Scaffold -This project provides a composer plugin for placing scaffold files (like -`index.php`, `update.php`, …) from the `drupal/core` project into their desired -location inside the web root. Only individual files may be scaffolded with this -plugin. +This project provides a composer plugin making the Drupal core Composer package +work correctly in a Composer project. + +This takes care of: + - Placing scaffold files (like `index.php`, `update.php`, …) from the + `drupal/core` project into their desired location inside the web root. Only + individual files may be scaffolded with this plugin. + - Writing an autoload.php file to the web root, which includes the Composer + autoload.php file. The purpose of scaffolding files is to allow Drupal sites to be fully managed by Composer, and still allow individual asset files to be placed in arbitrary diff --git a/web/core/MAINTAINERS.txt b/web/core/MAINTAINERS.txt index a32c745e669ff1a0e3708f5dfe1c893843f115fe..473f79d82d889921f2aea6b9c5ec6c41017ca3b8 100644 --- a/web/core/MAINTAINERS.txt +++ b/web/core/MAINTAINERS.txt @@ -38,9 +38,9 @@ Framework managers Release managers - Nathaniel Catchpole 'catch' https://www.drupal.org/u/catch +- Dave Long 'longwave' https://www.drupal.org/u/longwave - Jess Myrbo 'xjm' https://www.drupal.org/u/xjm - Victoria Spagnolo 'quietone' https://www.drupal.org/u/quietone -- (provisional) Dave Long 'longwave' https://www.drupal.org/u/longwave Core JavaScript packages - Théodore Biadala 'nod_' https://www.drupal.org/u/nod_ @@ -426,6 +426,7 @@ Update Manager User - Moshe Weitzman 'moshe weitzman' https://www.drupal.org/u/moshe-weitzman +- Kristiaan Van den Eynde 'kristiaanvandeneynde' https://www.drupal.org/u/kristiaanvandeneynde Views - Daniel Wehner 'dawehner' https://www.drupal.org/u/dawehner diff --git a/web/core/includes/theme.inc b/web/core/includes/theme.inc index 7d8bc8a3ed46fa354d1c5f9a30a6dff0716989b7..222f05a21c9b29d4cc5cbfb84614fc2de59b0f06 100644 --- a/web/core/includes/theme.inc +++ b/web/core/includes/theme.inc @@ -26,6 +26,7 @@ use Drupal\Core\Render\Element; use Drupal\Core\Render\Markup; use Drupal\Core\Utility\TableSort; +use Drupal\Core\Installer\InstallerKernel; /** * @defgroup content_flags Content markers @@ -1505,13 +1506,18 @@ function template_preprocess_maintenance_page(&$variables) { * @see template_preprocess_maintenance_page() */ function template_preprocess_install_page(&$variables) { + $installer_active_task = NULL; + if (defined('MAINTENANCE_MODE') && MAINTENANCE_MODE === 'install' && InstallerKernel::installationAttempted()) { + $installer_active_task = $GLOBALS['install_state']['active_task']; + } + template_preprocess_maintenance_page($variables); // Override the site name that is displayed on the page, since Drupal is // still in the process of being installed. $distribution_name = drupal_install_profile_distribution_name(); $variables['site_name'] = $distribution_name; - $variables['site_version'] = drupal_install_profile_distribution_version(); + $variables['site_version'] = $installer_active_task ? drupal_install_profile_distribution_version() : ''; } /** diff --git a/web/core/lib/Drupal.php b/web/core/lib/Drupal.php index 0dfbd6316d62bf70c9db379879176db6280e11b0..0eb13fc9dca6adff3ddcc516b0fba881bb64d1d8 100644 --- a/web/core/lib/Drupal.php +++ b/web/core/lib/Drupal.php @@ -75,7 +75,7 @@ class Drupal { /** * The current system version. */ - const VERSION = '10.1.6'; + const VERSION = '10.1.7'; /** * Core API compatibility. diff --git a/web/core/lib/Drupal/Component/Plugin/Factory/FactoryInterface.php b/web/core/lib/Drupal/Component/Plugin/Factory/FactoryInterface.php index 8cf046b9c0dff87c801ab49e5d8cb4f7dbe15a0d..4b1c2ad5af44c52627b3472f7786a56b3270b26b 100644 --- a/web/core/lib/Drupal/Component/Plugin/Factory/FactoryInterface.php +++ b/web/core/lib/Drupal/Component/Plugin/Factory/FactoryInterface.php @@ -8,7 +8,7 @@ interface FactoryInterface { /** - * Creates a pre-configured instance of a plugin. + * Creates a plugin instance based on the provided ID and configuration. * * @param string $plugin_id * The ID of the plugin being instantiated. diff --git a/web/core/lib/Drupal/Component/Plugin/Mapper/MapperInterface.php b/web/core/lib/Drupal/Component/Plugin/Mapper/MapperInterface.php index 9b01a374a50708efe2ba2e36e26048bb96bae70e..a53b14e7f53d82be21161c2bafa792e283df53e4 100644 --- a/web/core/lib/Drupal/Component/Plugin/Mapper/MapperInterface.php +++ b/web/core/lib/Drupal/Component/Plugin/Mapper/MapperInterface.php @@ -14,7 +14,7 @@ interface MapperInterface { /** - * Gets a preconfigured instance of a plugin. + * Gets or creates a plugin instance that satisfies the given options. * * @param array $options * An array of options that can be used to determine a suitable plugin to diff --git a/web/core/lib/Drupal/Component/Utility/Html.php b/web/core/lib/Drupal/Component/Utility/Html.php index 99427ea7973035a8b155c0b7c631cec68735562a..749a479636d4f35ba9d8364bbea7395d6e5bd820 100644 --- a/web/core/lib/Drupal/Component/Utility/Html.php +++ b/web/core/lib/Drupal/Component/Utility/Html.php @@ -480,11 +480,10 @@ public static function transformRootRelativeUrlsToAbsolute($html, $scheme_and_ho // @see https://html.spec.whatwg.org/multipage/embedded-content.html#attr-img-srcset // @see https://html.spec.whatwg.org/multipage/embedded-content.html#image-candidate-string $image_candidate_strings = explode(',', $node->getAttribute('srcset')); - $image_candidate_strings = array_map('trim', $image_candidate_strings); - for ($i = 0; $i < count($image_candidate_strings); $i++) { - $image_candidate_string = $image_candidate_strings[$i]; + $image_candidate_strings = array_filter(array_map('trim', $image_candidate_strings)); + foreach ($image_candidate_strings as $key => $image_candidate_string) { if ($image_candidate_string[0] === '/' && $image_candidate_string[1] !== '/') { - $image_candidate_strings[$i] = $scheme_and_host . $image_candidate_string; + $image_candidate_strings[$key] = $scheme_and_host . $image_candidate_string; } } $node->setAttribute('srcset', implode(', ', $image_candidate_strings)); diff --git a/web/core/lib/Drupal/Core/Asset/LibraryDependencyResolver.php b/web/core/lib/Drupal/Core/Asset/LibraryDependencyResolver.php index 4c31c1b124bac0162339365143d209df8623fa09..153801aa902862984428e61ba011e3526f2ab432 100644 --- a/web/core/lib/Drupal/Core/Asset/LibraryDependencyResolver.php +++ b/web/core/lib/Drupal/Core/Asset/LibraryDependencyResolver.php @@ -86,7 +86,7 @@ public function getMinimalRepresentativeSubset(array $libraries) { foreach ($libraries as $library) { $with_deps = $this->getLibrariesWithDependencies([$library]); // We don't need library itself listed in the dependencies. - $all_dependencies += array_diff($with_deps, [$library]); + $all_dependencies = array_unique(array_merge($all_dependencies, array_diff($with_deps, [$library]))); } return array_values(array_diff($libraries, array_intersect($all_dependencies, $libraries))); diff --git a/web/core/lib/Drupal/Core/Config/ConfigImporter.php b/web/core/lib/Drupal/Core/Config/ConfigImporter.php index 3be2b32273e520803ebce610db70f4b62423f150..7c161a5f247e1c268c44a872d6d8ad47f4478cd4 100644 --- a/web/core/lib/Drupal/Core/Config/ConfigImporter.php +++ b/web/core/lib/Drupal/Core/Config/ConfigImporter.php @@ -992,13 +992,13 @@ protected function importConfig($collection, $op, $name) { else { $config = new Config($name, $this->storageComparer->getTargetStorage($collection), $this->eventDispatcher, $this->typedConfigManager); } + if ($old_data = $this->storageComparer->getTargetStorage($collection)->read($name)) { + $config->initWithData($old_data); + } if ($op == 'delete') { $config->delete(); } else { - if ($old_data = $this->storageComparer->getTargetStorage($collection)->read($name)) { - $config->initWithData($old_data); - } $data = $this->storageComparer->getSourceStorage($collection)->read($name); $config->setData($data ? $data : []); $config->save(); diff --git a/web/core/lib/Drupal/Core/Config/DatabaseStorage.php b/web/core/lib/Drupal/Core/Config/DatabaseStorage.php index c40e70ee224cc4704e550e0f0e4380cc51615b08..4430298da39ed91119d22da0384ac73c8ac9a719 100644 --- a/web/core/lib/Drupal/Core/Config/DatabaseStorage.php +++ b/web/core/lib/Drupal/Core/Config/DatabaseStorage.php @@ -72,8 +72,11 @@ public function exists($name) { ], $this->options)->fetchField(); } catch (\Exception $e) { - // If we attempt a read without actually having the database or the table - // available, just return FALSE so the caller can handle it. + if ($this->connection->schema()->tableExists($this->table)) { + throw $e; + } + // If we attempt a read without actually having the table available, + // return false so the caller can handle it. return FALSE; } } @@ -90,8 +93,11 @@ public function read($name) { } } catch (\Exception $e) { - // If we attempt a read without actually having the database or the table - // available, just return FALSE so the caller can handle it. + if ($this->connection->schema()->tableExists($this->table)) { + throw $e; + } + // If we attempt a read without actually having the table available, + // return false so the caller can handle it. } return $data; } @@ -108,8 +114,11 @@ public function readMultiple(array $names) { } } catch (\Exception $e) { - // If we attempt a read without actually having the database or the table - // available, just return an empty array so the caller can handle it. + if ($this->connection->schema()->tableExists($this->table)) { + throw $e; + } + // If we attempt a read without actually having the table available, + // return an empty array so the caller can handle it. } return $list; } @@ -277,6 +286,11 @@ public function listAll($prefix = '') { return $query->execute()->fetchCol(); } catch (\Exception $e) { + if ($this->connection->schema()->tableExists($this->table)) { + throw $e; + } + // If we attempt a read without actually having the table available, + // return an empty array so the caller can handle it. return []; } } @@ -295,6 +309,11 @@ public function deleteAll($prefix = '') { ->execute(); } catch (\Exception $e) { + if ($this->connection->schema()->tableExists($this->table)) { + throw $e; + } + // If we attempt a delete without actually having the table available, + // return false so the caller can handle it. return FALSE; } } @@ -328,6 +347,11 @@ public function getAllCollectionNames() { ])->fetchCol(); } catch (\Exception $e) { + if ($this->connection->schema()->tableExists($this->table)) { + throw $e; + } + // If we attempt a read without actually having the table available, + // return an empty array so the caller can handle it. return []; } } diff --git a/web/core/lib/Drupal/Core/Config/StorageInterface.php b/web/core/lib/Drupal/Core/Config/StorageInterface.php index fe6857a10626a25560f23b83543eb0498d60e204..b2e6d4abb0892b32697a1962e640510c32b8b741 100644 --- a/web/core/lib/Drupal/Core/Config/StorageInterface.php +++ b/web/core/lib/Drupal/Core/Config/StorageInterface.php @@ -32,7 +32,7 @@ public function exists($name); * @param string $name * The name of a configuration object to load. * - * @return array|bool + * @return array|false * The configuration data stored for the configuration object name. If no * configuration data exists for the given name, FALSE is returned. */ diff --git a/web/core/lib/Drupal/Core/DependencyInjection/YamlFileLoader.php b/web/core/lib/Drupal/Core/DependencyInjection/YamlFileLoader.php index 36cd99d586db4a189dd2b30f3731bfb61d727610..96679d5f17a9ed22048d3eb95b45d764b8a6551f 100644 --- a/web/core/lib/Drupal/Core/DependencyInjection/YamlFileLoader.php +++ b/web/core/lib/Drupal/Core/DependencyInjection/YamlFileLoader.php @@ -446,8 +446,8 @@ private function validate($content, $file) throw new InvalidArgumentException(sprintf('The service file "%s" is not valid. It should contain an array. Check your YAML syntax.', $file)); } - if ($invalid_keys = array_diff_key($content, array('parameters' => 1, 'services' => 1))) { - throw new InvalidArgumentException(sprintf('The service file "%s" is not valid: it contains invalid keys %s. Services have to be added under "services" and Parameters under "parameters".', $file, $invalid_keys)); + if ($invalid_keys = array_keys(array_diff_key($content, array('parameters' => 1, 'services' => 1)))) { + throw new InvalidArgumentException(sprintf('The service file "%s" is not valid: it contains invalid root key(s) "%s". Services have to be added under "services" and Parameters under "parameters".', $file, implode('", "', $invalid_keys))); } return $content; diff --git a/web/core/lib/Drupal/Core/Entity/EntityFieldManager.php b/web/core/lib/Drupal/Core/Entity/EntityFieldManager.php index 4fc6c0b4ea5bc64a4f326eece876849e9c5a8b90..666b81f575af250a04f145a6dc4515b6a5ab598f 100644 --- a/web/core/lib/Drupal/Core/Entity/EntityFieldManager.php +++ b/web/core/lib/Drupal/Core/Entity/EntityFieldManager.php @@ -408,7 +408,7 @@ protected function buildBundleFieldDefinitions($entity_type_id, $bundle, array $ } } - // Retrieve base field definitions from modules. + // Retrieve bundle field definitions from modules. $this->moduleHandler->invokeAllWith( 'entity_bundle_field_info', function (callable $hook, string $module) use (&$bundle_field_definitions, $entity_type, $bundle, $base_field_definitions) { diff --git a/web/core/lib/Drupal/Core/Entity/EntityRepositoryInterface.php b/web/core/lib/Drupal/Core/Entity/EntityRepositoryInterface.php index f8623afcaed906c9fda07e899f7cde51866ca21f..27cfa7255921b59e641b7b1ba2db5277420075d1 100644 --- a/web/core/lib/Drupal/Core/Entity/EntityRepositoryInterface.php +++ b/web/core/lib/Drupal/Core/Entity/EntityRepositoryInterface.php @@ -64,8 +64,9 @@ public function loadEntityByConfigTarget($entity_type_id, $target); * (optional) An associative array of arbitrary data that can be useful to * determine the proper fallback sequence. * - * @return \Drupal\Core\Entity\EntityInterface - * An entity object for the translated data. + * @return \Drupal\Core\Entity\EntityInterface|null + * An entity object for the translated data, or NULL if the requested + * translation is missing, forbidden, or unavailable. * * @see \Drupal\Core\Language\LanguageManagerInterface::getFallbackCandidates() */ diff --git a/web/core/lib/Drupal/Core/Entity/Plugin/Validation/Constraint/ValidReferenceConstraintValidator.php b/web/core/lib/Drupal/Core/Entity/Plugin/Validation/Constraint/ValidReferenceConstraintValidator.php index aef9fb0018dd0fb8fae6bee66376a76d5e3f4e11..641654673ee7ec2eac6ce81bc0240c7ce5d1ef36 100644 --- a/web/core/lib/Drupal/Core/Entity/Plugin/Validation/Constraint/ValidReferenceConstraintValidator.php +++ b/web/core/lib/Drupal/Core/Entity/Plugin/Validation/Constraint/ValidReferenceConstraintValidator.php @@ -123,7 +123,7 @@ public function validate($value, Constraint $constraint) { if ($target_ids) { // Get a list of pre-existing references. $previously_referenced_ids = []; - if ($value->getParent() && ($entity = $value->getEntity()) && !$entity->isNew()) { + if ($entity && !$entity->isNew()) { $existing_entity = $this->entityTypeManager->getStorage($entity->getEntityTypeId())->loadUnchanged($entity->id()); foreach ($existing_entity->{$value->getFieldDefinition()->getName()}->getValue() as $item) { $previously_referenced_ids[$item['target_id']] = $item['target_id']; diff --git a/web/core/lib/Drupal/Core/EventSubscriber/ExceptionLoggingSubscriber.php b/web/core/lib/Drupal/Core/EventSubscriber/ExceptionLoggingSubscriber.php index 8adc67a6c969b4e512e3e29b8d25bd77ef81c572..31b45d5e58aa2ed8c1e7df54523d03135fd23588 100644 --- a/web/core/lib/Drupal/Core/EventSubscriber/ExceptionLoggingSubscriber.php +++ b/web/core/lib/Drupal/Core/EventSubscriber/ExceptionLoggingSubscriber.php @@ -88,7 +88,7 @@ public function onClientError(ExceptionEvent $event) { 'status_code' => $exception->getStatusCode(), ]; $this->logger->get('client error') - ->log($error['severity_level'], Error::DEFAULT_ERROR_MESSAGE, $error); + ->warning(Error::DEFAULT_ERROR_MESSAGE, $error); } /** diff --git a/web/core/lib/Drupal/Core/Render/theme.api.php b/web/core/lib/Drupal/Core/Render/theme.api.php index 36f1c096987366221c962e51395be162b9dd0502..58a930a8b9532baa339e1b8e59d2193bb7e56973 100644 --- a/web/core/lib/Drupal/Core/Render/theme.api.php +++ b/web/core/lib/Drupal/Core/Render/theme.api.php @@ -668,6 +668,7 @@ function hook_theme_suggestions_HOOK(array $variables) { * * In the following example, we provide an alternative template suggestion to * node and taxonomy term templates based on the user being logged in. + * * @code * function MYMODULE_theme_suggestions_alter(array &$suggestions, array $variables, $hook) { * if (\Drupal::currentUser()->isAuthenticated() && in_array($hook, array('node', 'taxonomy_term'))) { @@ -677,8 +678,9 @@ function hook_theme_suggestions_HOOK(array $variables) { * * @endcode * - * @param array $suggestions - * An array of alternate, more specific names for template files. + * @param array &$suggestions + * An array of alternate, more specific names for template files, passed by + * reference. * @param array $variables * An array of variables passed to the theme hook. Note that this hook is * invoked before any variable preprocessing. diff --git a/web/core/lib/Drupal/Core/TypedData/TypedData.php b/web/core/lib/Drupal/Core/TypedData/TypedData.php index 438494b48cf5c62354f5c3448559a64de9f224d8..27dd1d57344d0cfb8ecf0216fac01cb4683b8cf1 100644 --- a/web/core/lib/Drupal/Core/TypedData/TypedData.php +++ b/web/core/lib/Drupal/Core/TypedData/TypedData.php @@ -175,6 +175,10 @@ public function getPropertyPath() { // The property path of this data object is the parent's path appended // by this object's name. $prefix = $this->parent->getPropertyPath(); + // Variables in double quotes used to leverage fast string concatenation. + // In PHP 7+ concatenation with variable inside string is the fastest. + // @see https://blog.blackfire.io/php-7-performance-improvements-encapsed-strings-optimization.html + // This is being done because the code can run in the critical path. return $prefix !== '' ? "{$prefix}.{$this->name}" : $this->name; } // If no parent is set, this is the root of the data tree. Thus the property diff --git a/web/core/misc/cspell/dictionary.txt b/web/core/misc/cspell/dictionary.txt index 1f5411e117022eed5c4c19f3e36eea0eb446c29e..1bd124449c6d091e8227cd4ea115748e88b9bcde 100644 --- a/web/core/misc/cspell/dictionary.txt +++ b/web/core/misc/cspell/dictionary.txt @@ -212,7 +212,6 @@ cochez codesniffer colgroups colinodell -collegehumor colonpos colour colspans @@ -259,6 +258,7 @@ customly customrequest cweagans cádiz +dailymotion databasefilename databasename datas diff --git a/web/core/modules/ban/tests/src/Unit/BanMiddlewareTest.php b/web/core/modules/ban/tests/src/Unit/BanMiddlewareTest.php index 7f12b37e5dbf9ba24947c2d003b56d65db25660e..42d61eee5ae4ffc5a358cd80887ccee0eb135f22 100644 --- a/web/core/modules/ban/tests/src/Unit/BanMiddlewareTest.php +++ b/web/core/modules/ban/tests/src/Unit/BanMiddlewareTest.php @@ -78,7 +78,7 @@ public function testUnbannedIp() { $request = Request::create('/test-path'); $request->server->set('REMOTE_ADDR', $unbanned_ip); - $expected_response = new Response(200); + $expected_response = new Response(status: 200); $this->kernel->expects($this->once()) ->method('handle') ->with($request, HttpKernelInterface::MAIN_REQUEST, TRUE) diff --git a/web/core/modules/ckeditor5/tests/src/FunctionalJavascript/CKEditor5OffCanvasTest.php b/web/core/modules/ckeditor5/tests/src/FunctionalJavascript/CKEditor5OffCanvasTest.php index 2cec1138d2e79ab40f17ec3016e4b7a3e0a28bf5..6c4effb5e989aaf8bf3cafec5a3f8e71636ff4ff 100644 --- a/web/core/modules/ckeditor5/tests/src/FunctionalJavascript/CKEditor5OffCanvasTest.php +++ b/web/core/modules/ckeditor5/tests/src/FunctionalJavascript/CKEditor5OffCanvasTest.php @@ -37,7 +37,7 @@ public function testOffCanvasStyles() { $assert_session->assertWaitOnAjaxRequest(); $styles = $assert_session->elementExists('css', 'style#ckeditor5-off-canvas-reset'); - $this->stringContains('#drupal-off-canvas-wrapper [data-drupal-ck-style-fence]', $styles->getText()); + $this->assertStringContainsString('#drupal-off-canvas-wrapper [data-drupal-ck-style-fence]', $styles->getHtml()); $assert_session->elementExists('css', '.ck'); diff --git a/web/core/modules/config_translation/tests/src/Unit/ConfigNamesMapperTest.php b/web/core/modules/config_translation/tests/src/Unit/ConfigNamesMapperTest.php index 97ed1a83d2f94fc3b5fe5d7ab9fce49978959480..fc2791fb1de10978d73076c217af195e81e68201 100644 --- a/web/core/modules/config_translation/tests/src/Unit/ConfigNamesMapperTest.php +++ b/web/core/modules/config_translation/tests/src/Unit/ConfigNamesMapperTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\config_translation\Unit\ConfigNamesMapperTest. - */ - namespace Drupal\Tests\config_translation\Unit; use Drupal\config_translation\ConfigNamesMapper; diff --git a/web/core/modules/contact/tests/src/Functional/ContactLanguageTest.php b/web/core/modules/contact/tests/src/Functional/ContactLanguageTest.php index 045dd60e91d304aca14111b82a7f1148a352066b..dc864a290a0be415bc0bc186d15fb6d58411b858 100644 --- a/web/core/modules/contact/tests/src/Functional/ContactLanguageTest.php +++ b/web/core/modules/contact/tests/src/Functional/ContactLanguageTest.php @@ -2,6 +2,8 @@ namespace Drupal\Tests\contact\Functional; +use Drupal\Core\Language\LanguageInterface; +use Drupal\language\Entity\ContentLanguageSettings; use Drupal\Tests\BrowserTestBase; /** @@ -54,12 +56,11 @@ public function testContactLanguage() { $this->assertSession()->statusCodeEquals(200); $this->assertSession()->fieldNotExists('edit-langcode-0-value'); - // Enable language select from content language settings page. - $settings_path = 'admin/config/regional/content-language'; - $edit['entity_types[contact_message]'] = TRUE; - $edit['settings[contact_message][feedback][settings][language][language_alterable]'] = TRUE; - $this->drupalGet($settings_path); - $this->submitForm($edit, 'Save configuration'); + // Enable language select. + $config = ContentLanguageSettings::loadByEntityTypeBundle('contact_message', 'feedback'); + $config->setDefaultLangcode(LanguageInterface::LANGCODE_SITE_DEFAULT); + $config->setLanguageAlterable(TRUE); + $config->save(); // Ensure that contact form now shows the language select. $this->drupalGet('contact'); diff --git a/web/core/modules/content_translation/tests/src/Functional/ContentTranslationUntranslatableFieldsTest.php b/web/core/modules/content_translation/tests/src/Functional/ContentTranslationUntranslatableFieldsTest.php index 07470bc7e9a0930077fe178673628d8e623d6412..40070e17387d750a88f4a0933227091ea7701ada 100644 --- a/web/core/modules/content_translation/tests/src/Functional/ContentTranslationUntranslatableFieldsTest.php +++ b/web/core/modules/content_translation/tests/src/Functional/ContentTranslationUntranslatableFieldsTest.php @@ -32,11 +32,9 @@ protected function setUp(): void { // Configure one field as untranslatable. $this->drupalLogin($this->administrator); - $edit = [ - 'settings[' . $this->entityTypeId . '][' . $this->bundle . '][fields][' . $this->fieldName . ']' => 0, - ]; - $this->drupalGet('admin/config/regional/content-language'); - $this->submitForm($edit, 'Save configuration'); + + $field = FieldConfig::loadByName($this->entityTypeId, $this->bundle, $this->fieldName); + $field->setTranslatable(FALSE)->save(); /** @var \Drupal\Core\Entity\EntityFieldManagerInterface $entity_field_manager */ $entity_field_manager = $this->container->get('entity_field.manager'); diff --git a/web/core/modules/dblog/dblog.install b/web/core/modules/dblog/dblog.install index 2a9f05dd39318d498633deb4bf3b2192b844b18b..0a581226b414f3a86a09986f61ab27bb7fa137a6 100644 --- a/web/core/modules/dblog/dblog.install +++ b/web/core/modules/dblog/dblog.install @@ -5,8 +5,6 @@ * Install, update and uninstall functions for the dblog module. */ -use Drupal\Core\Database\Database; - /** * Implements hook_schema(). */ @@ -123,15 +121,15 @@ function dblog_update_10100(&$sandbox = NULL) { * Converts the 'wid' of the 'watchdog' table to a big integer. */ function dblog_update_10101(&$sandbox = NULL) { - $schema = Database::getConnection()->schema(); - - // Increase the size of the field. - $new_specification = [ - 'size' => 'big', - 'type' => 'serial', - 'not null' => TRUE, - 'description' => 'Primary Key: Unique watchdog event ID.', - ]; - $schema->changeField('watchdog', 'wid', 'wid', $new_specification); - + $connection = \Drupal::database(); + if ($connection->databaseType() != 'sqlite') { + // Increase the size of the field. + $new_specification = [ + 'size' => 'big', + 'type' => 'serial', + 'not null' => TRUE, + 'description' => 'Primary Key: Unique watchdog event ID.', + ]; + $connection->schema()->changeField('watchdog', 'wid', 'wid', $new_specification); + } } diff --git a/web/core/modules/field/tests/src/Unit/FieldConfigEntityUnitTest.php b/web/core/modules/field/tests/src/Unit/FieldConfigEntityUnitTest.php index 3cab469051f59987da839fb0c94fd67dd181abbb..99c7b0c89b5916d21a72e50af2dae2a1f165afe1 100644 --- a/web/core/modules/field/tests/src/Unit/FieldConfigEntityUnitTest.php +++ b/web/core/modules/field/tests/src/Unit/FieldConfigEntityUnitTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\field\Unit\FieldConfigEntityUnitTest. - */ - namespace Drupal\Tests\field\Unit; use Drupal\Core\Entity\EntityType; diff --git a/web/core/modules/field/tests/src/Unit/FieldStorageConfigEntityUnitTest.php b/web/core/modules/field/tests/src/Unit/FieldStorageConfigEntityUnitTest.php index f750e4c62f5beb6c454c9ae445014ce4e32cedc3..f510bf7b08f5a2fcd9ce6b7d159291bb14e6ecd8 100644 --- a/web/core/modules/field/tests/src/Unit/FieldStorageConfigEntityUnitTest.php +++ b/web/core/modules/field/tests/src/Unit/FieldStorageConfigEntityUnitTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\field\Unit\FieldStorageConfigEntityUnitTest. - */ - namespace Drupal\Tests\field\Unit; use Drupal\Core\DependencyInjection\ContainerBuilder; diff --git a/web/core/modules/field_ui/tests/src/FunctionalJavascript/ManageDisplayTest.php b/web/core/modules/field_ui/tests/src/FunctionalJavascript/ManageDisplayTest.php index 59e70d11d5eba21cd18f7401b7fdb83d544a1d4a..d87e78d06fbaa884ecc236ce3361f239dca64356 100644 --- a/web/core/modules/field_ui/tests/src/FunctionalJavascript/ManageDisplayTest.php +++ b/web/core/modules/field_ui/tests/src/FunctionalJavascript/ManageDisplayTest.php @@ -204,7 +204,7 @@ public function testFormatterUI() { $field_test_format_type->setValue('field_empty_setting'); $assert_session->assertWaitOnAjaxRequest(); $assert_session->responseNotContains('Default empty setting now has a value.'); - $this->assertTrue($field_test_settings->isVisible(), TRUE); + $this->assertTrue($field_test_settings->isVisible()); // Set the empty_setting option to a non-empty value again and validate // the formatting summary now display's this correctly. @@ -237,7 +237,7 @@ public function testFormatterUI() { // Ensure the button is still there after the module has been disabled. $this->drupalGet($manage_display); - $this->assertTrue($field_test_settings->isVisible(), TRUE); + $this->assertTrue($field_test_settings->isVisible()); // Ensure that third-party form elements are not present anymore. $field_test_settings->click(); diff --git a/web/core/modules/file/src/Plugin/Field/FieldWidget/FileWidget.php b/web/core/modules/file/src/Plugin/Field/FieldWidget/FileWidget.php index e5a48e65751e49f06b6e02b965982a25ca2dbf1a..c97a4d20b389cf051a8981cf9d71103d50c46625 100644 --- a/web/core/modules/file/src/Plugin/Field/FieldWidget/FileWidget.php +++ b/web/core/modules/file/src/Plugin/Field/FieldWidget/FileWidget.php @@ -318,10 +318,18 @@ public function extractFormValues(FieldItemListInterface $items, array $form, Fo */ public static function value($element, $input, FormStateInterface $form_state) { if ($input) { - // Checkboxes lose their value when empty. - // If the display field is present make sure its unchecked value is saved. if (empty($input['display'])) { - $input['display'] = $element['#display_field'] ? 0 : 1; + // Updates the display field with the default value because + // #display_field is invisible. + if (empty($input['fids'])) { + $input['display'] = $element['#display_default']; + } + // Checkboxes lose their value when empty. + // If the display field is present, make sure its unchecked value is + // saved. + else { + $input['display'] = $element['#display_field'] ? 0 : 1; + } } } diff --git a/web/core/modules/file/tests/src/Functional/FileFieldCreationTrait.php b/web/core/modules/file/tests/src/Functional/FileFieldCreationTrait.php index 905cf6c325c8a3e28fc82d98b5cde4c7fb2f944a..7f31eba6d65837d99c4afae4fb1f16cba0e59d17 100644 --- a/web/core/modules/file/tests/src/Functional/FileFieldCreationTrait.php +++ b/web/core/modules/file/tests/src/Functional/FileFieldCreationTrait.php @@ -14,7 +14,8 @@ trait FileFieldCreationTrait { * Creates a new file field. * * @param string $name - * The name of the new field (all lowercase), exclude the "field_" prefix. + * The name of the new field (all lowercase). The Field UI 'field_' prefix + * is not added to the field name. * @param string $entity_type * The entity type. * @param string $bundle @@ -47,7 +48,8 @@ public function createFileField($name, $entity_type, $bundle, $storage_settings * Attaches a file field to an entity. * * @param string $name - * The name of the new field (all lowercase), exclude the "field_" prefix. + * The name of the new field (all lowercase). The Field UI 'field_' prefix + * is not added to the field name. * @param string $entity_type * The entity type this field will be added to. * @param string $bundle diff --git a/web/core/modules/file/tests/src/FunctionalJavascript/FileFieldWidgetClaroThemeTest.php b/web/core/modules/file/tests/src/FunctionalJavascript/FileFieldWidgetClaroThemeTest.php new file mode 100644 index 0000000000000000000000000000000000000000..69bbaf3bf1ede574fec450036d6e6b2ba3f20ae0 --- /dev/null +++ b/web/core/modules/file/tests/src/FunctionalJavascript/FileFieldWidgetClaroThemeTest.php @@ -0,0 +1,104 @@ +<?php + +namespace Drupal\Tests\file\FunctionalJavascript; + +use Drupal\Core\Url; + +/** + * Tests the widget visibility settings for the Claro theme. + * + * The widget is intentionally tested with Claro as the default theme to test + * the changes added in _claro_preprocess_file_and_image_widget(). + * + * @see _claro_preprocess_file_and_image_widget() + * + * @group file + */ +class FileFieldWidgetClaroThemeTest extends FileFieldWidgetTest { + + /** + * {@inheritdoc} + */ + protected $defaultTheme = 'claro'; + + /** + * Tests that the field widget visibility settings are respected on the form. + */ + public function testWidgetDefaultVisibilitySettings(): void { + // Set up an article node with all field storage settings set to TRUE. + $type_name = 'article'; + $field_name = 'test_file_field_1'; + $field_storage_settings = [ + 'display_field' => TRUE, + 'display_default' => TRUE, + ]; + $field_settings = []; + $widget_settings = []; + $field_storage = $this->createFileField($field_name, 'node', $type_name, $field_storage_settings, $field_settings, $widget_settings); + + $page = $this->getSession()->getPage(); + $assert_session = $this->assertSession(); + + $test_file = current($this->getTestFiles('text')); + $test_file_path = \Drupal::service('file_system')->realpath($test_file->uri); + + // Fill out the form accordingly. + $this->drupalGet("node/add/$type_name"); + $title = 'Fake Article Name 01'; + $page->findField('title[0][value]')->setValue($title); + $page->attachFileToField('files[' . $field_name . '_0]', $test_file_path); + $remove_button = $assert_session->waitForElementVisible('css', '[name="' . $field_name . '_0_remove_button"]'); + $this->assertNotNull($remove_button); + $type = $assert_session->fieldExists("{$field_name}[0][display]")->getAttribute('type'); + $this->assertEquals($type, 'checkbox'); + $assert_session->checkboxChecked("{$field_name}[0][display]"); + + // Now, submit the same form and ensure that value is retained. + $this->submitForm([], 'Save'); + $node = $this->drupalGetNodeByTitle($title, TRUE); + $this->assertEquals(1, $node->get($field_name)->getValue()[0]['display'], 'The checkbox is enabled.'); + $this->drupalGet(Url::fromRoute('entity.node.edit_form', ['node' => $node->id()])); + $assert_session->checkboxChecked("{$field_name}[0][display]"); + + // Submit the form again with the disabled value of the checkbox. + $this->submitForm([ + "{$field_name}[0][display]" => FALSE, + ], 'Save'); + $node = $this->drupalGetNodeByTitle($title, TRUE); + $this->assertEquals(0, $node->get($field_name)->getValue()[0]['display'], 'The checkbox is disabled.'); + $this->drupalGet(Url::fromRoute('entity.node.edit_form', ['node' => $node->id()])); + $assert_session->checkboxNotChecked("{$field_name}[0][display]"); + + // Disable the field settings and ensure that the form is updated. + $field_storage->setSetting('display_default', FALSE); + $field_storage->save(); + $page = $this->getSession()->getPage(); + $assert_session = $this->assertSession(); + $this->drupalGet("node/add/$type_name"); + $title = 'Fake Article Name 02'; + $page->findField('title[0][value]')->setValue($title); + $page->attachFileToField('files[' . $field_name . '_0]', $test_file_path); + $remove_button = $assert_session->waitForElementVisible('css', '[name="' . $field_name . '_0_remove_button"]'); + $this->assertNotNull($remove_button); + $type = $assert_session->fieldExists("{$field_name}[0][display]")->getAttribute('type'); + $this->assertEquals($type, 'checkbox'); + $assert_session->checkboxNotChecked("{$field_name}[0][display]"); + + // Submit the same form and ensure that value is retained. + $this->submitForm([], 'Save'); + $node = $this->drupalGetNodeByTitle($title, TRUE); + $this->assertEquals(0, $node->get($field_name)->getValue()[0]['display'], 'The checkbox is disabled.'); + $this->drupalGet(Url::fromRoute('entity.node.edit_form', ['node' => $node->id()])); + $assert_session->checkboxNotChecked("{$field_name}[0][display]"); + + // Check the checkbox and ensure that it is submitted properly. + $this->submitForm([ + "{$field_name}[0][display]" => TRUE, + ], 'Save'); + $node = $this->drupalGetNodeByTitle($title, TRUE); + $this->assertEquals(1, $node->get($field_name)->getValue()[0]['display'], 'The checkbox is disabled because display_default option is marked as false.'); + $this->drupalGet(Url::fromRoute('entity.node.edit_form', ['node' => $node->id()])); + $assert_session->checkboxChecked("{$field_name}[0][display]"); + } + +} diff --git a/web/core/modules/file/tests/src/FunctionalJavascript/FileFieldWidgetTest.php b/web/core/modules/file/tests/src/FunctionalJavascript/FileFieldWidgetTest.php index cc4a03cee099c44df7965447f8074843e4bd0361..9f3a8d87ad52dd878b4a038bf18b18c9274f3bdd 100644 --- a/web/core/modules/file/tests/src/FunctionalJavascript/FileFieldWidgetTest.php +++ b/web/core/modules/file/tests/src/FunctionalJavascript/FileFieldWidgetTest.php @@ -2,7 +2,6 @@ namespace Drupal\Tests\file\FunctionalJavascript; -use Drupal\Component\Render\FormattableMarkup; use Drupal\file\Entity\File; use Drupal\FunctionalJavascriptTests\WebDriverTestBase; use Drupal\Tests\field_ui\Traits\FieldUiTestTrait; @@ -100,7 +99,7 @@ public function testMultiValuedWidget() { // Ensure we have the expected number of Remove buttons, and that they // are numbered sequentially. $buttons = $this->xpath('//input[@type="submit" and @value="Remove"]'); - $this->assertCount($num_expected_remove_buttons, $buttons, new FormattableMarkup('There are %n "Remove" buttons displayed.', ['%n' => $num_expected_remove_buttons])); + $this->assertCount($num_expected_remove_buttons, $buttons, 'There are ' . $num_expected_remove_buttons . ' "Remove" buttons displayed.'); foreach ($buttons as $i => $button) { $key = $i >= $remaining ? $i - $remaining : $i; $check_field_name = $field_name2; diff --git a/web/core/modules/file/tests/src/FunctionalJavascript/MaximumFileSizeExceededUploadTest.php b/web/core/modules/file/tests/src/FunctionalJavascript/MaximumFileSizeExceededUploadTest.php index ca30daefbd32e1c5a0608d3192c4b8543de232e9..323fdd18e42832db0449e8266b5c2a214b367fc3 100644 --- a/web/core/modules/file/tests/src/FunctionalJavascript/MaximumFileSizeExceededUploadTest.php +++ b/web/core/modules/file/tests/src/FunctionalJavascript/MaximumFileSizeExceededUploadTest.php @@ -99,11 +99,11 @@ public function testUploadFileExceedingMaximumFileSize() { $session = $this->getSession(); // Create a test file that exceeds the maximum POST size with 1 kilobyte. - $post_max_size = Bytes::toNumber(ini_get('post_max_size')); + $post_max_size = (int) Bytes::toNumber(ini_get('post_max_size')); $invalid_file = 'public://exceeding_post_max_size.bin'; $file = fopen($invalid_file, 'wb'); fseek($file, $post_max_size + 1024); - fwrite($file, 0x0); + fwrite($file, '0'); fclose($file); // Go to the node creation form and try to upload the test file. diff --git a/web/core/modules/filter/tests/src/Kernel/FilterKernelTest.php b/web/core/modules/filter/tests/src/Kernel/FilterKernelTest.php index 0fa0d28854600294e6bc08fc02da1642a4f21d64..2460e186a2137d0fe9a29cae61a19a4c6e5c69e7 100644 --- a/web/core/modules/filter/tests/src/Kernel/FilterKernelTest.php +++ b/web/core/modules/filter/tests/src/Kernel/FilterKernelTest.php @@ -391,7 +391,7 @@ public function testLineBreakFilter() { $this->assertFilteredString($filter, $tests); // Very long string hitting PCRE limits. - $limit = max(ini_get('pcre.backtrack_limit'), ini_get('pcre.recursion_limit')); + $limit = max((int) ini_get('pcre.backtrack_limit'), (int) ini_get('pcre.recursion_limit')); $source = $this->randomMachineName($limit); $result = _filter_autop($source); $this->assertEquals($result, '<p>' . $source . "</p>\n", 'Line break filter can process very long strings.'); diff --git a/web/core/modules/image/tests/src/Kernel/ImageFieldCreationTrait.php b/web/core/modules/image/tests/src/Kernel/ImageFieldCreationTrait.php index a528dfe47cc045ef37dbdf630c139a46fe9cf689..8f7c91a8940fa92d6ed91048bef8c72cc9e273a2 100644 --- a/web/core/modules/image/tests/src/Kernel/ImageFieldCreationTrait.php +++ b/web/core/modules/image/tests/src/Kernel/ImageFieldCreationTrait.php @@ -14,7 +14,8 @@ trait ImageFieldCreationTrait { * Create a new image field. * * @param string $name - * The name of the new field (all lowercase), exclude the "field_" prefix. + * The name of the new field (all lowercase). The Field UI 'field_' prefix + * is not added to the field name. * @param string $type_name * The node type that this field will be added to. * @param array $storage_settings diff --git a/web/core/modules/media/src/MediaSourceEntityConstraintsInterface.php b/web/core/modules/media/src/MediaSourceEntityConstraintsInterface.php index 29c6e92b37e62c73dcabb512bb1fd3e8232212e2..2d860e19d09d9cf10b4c0d4d6797bc9ef556fc3a 100644 --- a/web/core/modules/media/src/MediaSourceEntityConstraintsInterface.php +++ b/web/core/modules/media/src/MediaSourceEntityConstraintsInterface.php @@ -20,7 +20,8 @@ interface MediaSourceEntityConstraintsInterface extends MediaSourceInterface { * Gets media source-specific validation constraints for a media item. * * @return \Symfony\Component\Validator\Constraint[] - * An array of validation constraint definitions, keyed by constraint name. + * An array of validation constraint definitions, keyed by plugin IDs. The + * corresponding values are options for each validation plugin. * Each constraint definition can be used for instantiating * \Symfony\Component\Validator\Constraint objects. */ diff --git a/web/core/modules/media/src/MediaSourceFieldConstraintsInterface.php b/web/core/modules/media/src/MediaSourceFieldConstraintsInterface.php index b6b535f2fceea35891eff22f3fe32f26ca6fc74f..cbbed25834186f2a42365d8bb1908435a8b4da13 100644 --- a/web/core/modules/media/src/MediaSourceFieldConstraintsInterface.php +++ b/web/core/modules/media/src/MediaSourceFieldConstraintsInterface.php @@ -20,7 +20,8 @@ interface MediaSourceFieldConstraintsInterface extends MediaSourceInterface { * Gets media source-specific validation constraints for a source field. * * @return \Symfony\Component\Validator\Constraint[] - * An array of validation constraint definitions, keyed by constraint name. + * An array of validation constraint definitions, keyed by plugin IDs. The + * corresponding values are options for each validation plugin. * Each constraint definition can be used for instantiating * \Symfony\Component\Validator\Constraint objects. */ diff --git a/web/core/modules/media/tests/fixtures/oembed/providers.json b/web/core/modules/media/tests/fixtures/oembed/providers.json index 9791d7378dc5b3f0559ecb03ef001df3560135d7..9988ac1f1aad51df6acf88480af18143ff89bbe0 100644 --- a/web/core/modules/media/tests/fixtures/oembed/providers.json +++ b/web/core/modules/media/tests/fixtures/oembed/providers.json @@ -27,19 +27,18 @@ "https:\/\/*.twitter.com\/*\/status\/*" ], "url": "https:\/\/publish.twitter.com\/oembed" - } ] }, { - "provider_name": "CollegeHumor", - "provider_url": "http:\/\/www.collegehumor.com\/", + "provider_name": "Dailymotion", + "provider_url": "https:\/\/www.dailymotion.com\/", "endpoints": [ { "schemes": [ - "http:\/\/www.collegehumor.com\/video\/*" + "https:\/\/www.dailymotion.com\/video\/*" ], - "url": "http:\/\/www.collegehumor.com\/oembed.{format}", + "url": "https:\/\/www.dailymotion.com\/services\/oembed", "discovery": true } ] diff --git a/web/core/modules/media/tests/fixtures/oembed/video_collegehumor.html b/web/core/modules/media/tests/fixtures/oembed/video_collegehumor.html deleted file mode 100644 index fc2fdfba52469a28ec37e9585ca64e4929e1220e..0000000000000000000000000000000000000000 --- a/web/core/modules/media/tests/fixtures/oembed/video_collegehumor.html +++ /dev/null @@ -1,8 +0,0 @@ -<!DOCTYPE html> -<html lang="de"> -<head> - <link rel="alternate" href="video_collegehumor.xml" - type="application/xml+oembed" title="Let's Not Get a Drink Sometime"> -</head> -<body></body> -</html> diff --git a/web/core/modules/media/tests/fixtures/oembed/video_dailymotion.html b/web/core/modules/media/tests/fixtures/oembed/video_dailymotion.html new file mode 100644 index 0000000000000000000000000000000000000000..b8ca7fe64c75f76d2cc725045f06e0e1cc6133a0 --- /dev/null +++ b/web/core/modules/media/tests/fixtures/oembed/video_dailymotion.html @@ -0,0 +1,8 @@ +<!DOCTYPE html> +<html lang="de"> +<head> + <link rel="alternate" href="video_dailymotion.xml" + type="application/xml+oembed" title="#d8rules - Support the Rules module for Drupal 8"> +</head> +<body></body> +</html> diff --git a/web/core/modules/media/tests/fixtures/oembed/video_collegehumor.xml b/web/core/modules/media/tests/fixtures/oembed/video_dailymotion.xml similarity index 63% rename from web/core/modules/media/tests/fixtures/oembed/video_collegehumor.xml rename to web/core/modules/media/tests/fixtures/oembed/video_dailymotion.xml index 0894cafcf97e34f6789f0a6a6f63ddd426146bed..14ce13b88b47e7a264fc647492d301926fa37dcb 100644 --- a/web/core/modules/media/tests/fixtures/oembed/video_collegehumor.xml +++ b/web/core/modules/media/tests/fixtures/oembed/video_dailymotion.xml @@ -2,15 +2,15 @@ <oembed> <type>video</type> <version>1.0</version> - <title>Let's Not Get a Drink Sometime</title> + <title>#d8rules - Support the Rules module for Drupal 8</title> <https/> - <author_name>CollegeHumor</author_name> - <author_url>http://www.collegehumor.com</author_url> - <provider_name>CollegeHumor</provider_name> - <provider_url>http://www.collegehumor.com</provider_url> + <author_name>Leepchic</author_name> + <author_url>https://www.dailymotion.com/leepchic</author_url> + <provider_name>Dailymotion</provider_name> + <provider_url>https://www.dailymotion.com</provider_url> <width>610</width> <height>343</height> - <html><h1>By the power of Grayskull, CollegeHumor works!</h1> + <html><h1>Dailymotion works!</h1> </html> <!-- The thumbnail URL does not contain a file extension, so we use this to test the oEmbed source plugin's thumbnail handling; diff --git a/web/core/modules/media/tests/src/Functional/ResourceFetcherTest.php b/web/core/modules/media/tests/src/Functional/ResourceFetcherTest.php index e1e20ff8d9e3121f4d86c3e10c37f483fc3f733c..b83f7b9fa885b69f14299c36e2dfcf9eff7acfd9 100644 --- a/web/core/modules/media/tests/src/Functional/ResourceFetcherTest.php +++ b/web/core/modules/media/tests/src/Functional/ResourceFetcherTest.php @@ -43,9 +43,9 @@ public function providerFetchResource() { 'Drupal Rap Video - Schipulcon09', ], 'XML resource' => [ - 'video_collegehumor.xml', - 'CollegeHumor', - "Let's Not Get a Drink Sometime", + 'video_dailymotion.xml', + 'Dailymotion', + "#d8rules - Support the Rules module for Drupal 8", ], ]; } diff --git a/web/core/modules/media/tests/src/Functional/UrlResolverTest.php b/web/core/modules/media/tests/src/Functional/UrlResolverTest.php index b2e1672b9cc80569b26dfe09ef28054b4f0372b2..cb9ab4e17b5565418d46c97718aebab3deb67f54 100644 --- a/web/core/modules/media/tests/src/Functional/UrlResolverTest.php +++ b/web/core/modules/media/tests/src/Functional/UrlResolverTest.php @@ -46,9 +46,9 @@ public function providerEndpointMatching() { 'https://vimeo.com/14782834', 'https://vimeo.com/api/oembed.json?url=https://vimeo.com/14782834', ], - 'match by endpoint: CollegeHumor' => [ - 'http://www.collegehumor.com/video/40002870/lets-not-get-a-drink-sometime', - 'http://www.collegehumor.com/oembed.json?url=http://www.collegehumor.com/video/40002870/lets-not-get-a-drink-sometime', + 'match by endpoint: Dailymotion' => [ + 'https://www.dailymotion.com/video/x2vzluh', + 'https://www.dailymotion.com/services/oembed?url=https://www.dailymotion.com/video/x2vzluh', ], 'match by endpoint: Facebook' => [ 'https://www.facebook.com/facebook/videos/10153231379946729/', @@ -105,13 +105,8 @@ public function providerUrlDiscovery() { 'https://vimeo.com/api/oembed.json?url=video_vimeo.html', ], 'XML resource' => [ - 'video_collegehumor.html', - // The endpoint does not explicitly declare that it supports XML, so - // only JSON support is assumed, which is why the discovered URL - // contains '.json'. However, the fetched HTML file contains a - // relationship to an XML representation of the resource, with the - // application/xml+oembed MIME type. - 'http://www.collegehumor.com/oembed.json?url=video_collegehumor.html', + 'video_dailymotion.html', + 'https://www.dailymotion.com/services/oembed?url=video_dailymotion.html', ], ]; } diff --git a/web/core/modules/media/tests/src/FunctionalJavascript/MediaSourceOEmbedVideoTest.php b/web/core/modules/media/tests/src/FunctionalJavascript/MediaSourceOEmbedVideoTest.php index 62b7500be83356bde64cbbdf49d4a5b221bb3d5b..593920ca3ad61615f7cd13afac3833cd56193757 100644 --- a/web/core/modules/media/tests/src/FunctionalJavascript/MediaSourceOEmbedVideoTest.php +++ b/web/core/modules/media/tests/src/FunctionalJavascript/MediaSourceOEmbedVideoTest.php @@ -160,22 +160,22 @@ public function testMediaOEmbedVideoSource() { // Try to create a media asset from a disallowed provider. $this->drupalGet("media/add/$media_type_id"); - $assert_session->fieldExists('Remote video URL')->setValue('http://www.collegehumor.com/video/40003213/grant-and-katie-are-starting-their-own-company'); + $assert_session->fieldExists('Remote video URL')->setValue('https://www.dailymotion.com/video/x2vzluh'); $page->pressButton('Save'); - $assert_session->pageTextContains('The CollegeHumor provider is not allowed.'); + $assert_session->pageTextContains('The Dailymotion provider is not allowed.'); - // Register a CollegeHumor video as a second oEmbed resource. Note that its + // Register a Dailymotion video as a second oEmbed resource. Note that its // thumbnail URL does not have a file extension. $media_type = MediaType::load($media_type_id); $source_configuration = $media_type->getSource()->getConfiguration(); - $source_configuration['providers'][] = 'CollegeHumor'; + $source_configuration['providers'][] = 'Dailymotion'; $media_type->getSource()->setConfiguration($source_configuration); $media_type->save(); - $video_url = 'http://www.collegehumor.com/video/40003213/let-not-get-a-drink-sometime'; - ResourceController::setResourceUrl($video_url, $this->getFixturesDirectory() . '/video_collegehumor.xml'); + $video_url = 'https://www.dailymotion.com/video/x2vzluh'; + ResourceController::setResourceUrl($video_url, $this->getFixturesDirectory() . '/video_dailymotion.xml'); - // Create a new media item using a CollegeHumor video. + // Create a new media item using a Dailymotion video. $this->drupalGet("media/add/$media_type_id"); $assert_session->fieldExists('Remote video URL')->setValue($video_url); $assert_session->buttonExists('Save')->press(); diff --git a/web/core/modules/menu_ui/tests/src/Functional/MenuUiNodeTest.php b/web/core/modules/menu_ui/tests/src/Functional/MenuUiNodeTest.php index 08ac7b331d71d7167564914e64712563a902d01a..340b9e45bc8ea89b49d39f3988d4cc438975397a 100644 --- a/web/core/modules/menu_ui/tests/src/Functional/MenuUiNodeTest.php +++ b/web/core/modules/menu_ui/tests/src/Functional/MenuUiNodeTest.php @@ -2,7 +2,9 @@ namespace Drupal\Tests\menu_ui\Functional; +use Drupal\Core\Language\LanguageInterface; use Drupal\language\Entity\ConfigurableLanguage; +use Drupal\language\Entity\ContentLanguageSettings; use Drupal\menu_link_content\Entity\MenuLinkContent; use Drupal\node\Entity\Node; use Drupal\Tests\BrowserTestBase; @@ -294,30 +296,36 @@ public function testMultilingualMenuNodeFormWidget() { $config->set('url.prefixes.' . $langcodes[0], $langcodes[0]); $config->save(); - $this->rebuildContainer(); - $languages = []; foreach ($langcodes as $langcode) { $languages[$langcode] = ConfigurableLanguage::load($langcode); } - // Use a UI form submission to make the node type and menu link content entity translatable. - $this->drupalLogout(); - $this->drupalLogin($this->rootUser); - $edit = [ - 'entity_types[node]' => TRUE, - 'entity_types[menu_link_content]' => TRUE, - 'settings[node][page][settings][language][language_alterable]' => TRUE, - 'settings[node][page][translatable]' => TRUE, - 'settings[node][page][fields][title]' => TRUE, - 'settings[menu_link_content][menu_link_content][translatable]' => TRUE, - ]; - $this->drupalGet('admin/config/regional/content-language'); - $this->submitForm($edit, 'Save configuration'); + // Enable translation for page. + $config = ContentLanguageSettings::loadByEntityTypeBundle('node', 'page'); + $config->setDefaultLangcode(LanguageInterface::LANGCODE_SITE_DEFAULT); + $config->setLanguageAlterable(TRUE); + $config->save(); - // Log out and back in as normal user. - $this->drupalLogout(); - $this->drupalLogin($this->editor); + $content_translation_manager = $this->container->get('content_translation.manager'); + $content_translation_manager->setEnabled('node', 'page', TRUE); + $content_translation_manager->setBundleTranslationSettings('node', 'page', [ + 'untranslatable_fields_hide' => FALSE, + ]); + + // Enable translation for menu_link_content. + $config = ContentLanguageSettings::loadByEntityTypeBundle('menu_link_content', 'menu_link_content'); + $config->setDefaultLangcode(LanguageInterface::LANGCODE_SITE_DEFAULT); + $config->setLanguageAlterable(TRUE); + $config->save(); + + $content_translation_manager = $this->container->get('content_translation.manager'); + $content_translation_manager->setEnabled('menu_link_content', 'menu_link_content', TRUE); + $content_translation_manager->setBundleTranslationSettings('menu_link_content', 'menu_link_content', [ + 'untranslatable_fields_hide' => FALSE, + ]); + + $this->rebuildContainer(); // Create a node. $node_title = $this->randomMachineName(8); diff --git a/web/core/modules/migrate/src/Plugin/MigrationPluginManager.php b/web/core/modules/migrate/src/Plugin/MigrationPluginManager.php index df1915372242c9ee0807cfa1a7e1d15c8f94d336..5f05d6dd4af02b5c081df006ddc434933920aff7 100644 --- a/web/core/modules/migrate/src/Plugin/MigrationPluginManager.php +++ b/web/core/modules/migrate/src/Plugin/MigrationPluginManager.php @@ -145,7 +145,7 @@ public function expandPluginIds(array $migration_ids) { $plugin_ids = []; $all_ids = array_keys($this->getDefinitions()); foreach ($migration_ids as $id) { - $plugin_ids += preg_grep('/^' . preg_quote($id, '/') . PluginBase::DERIVATIVE_SEPARATOR . '/', $all_ids); + $plugin_ids = array_merge($plugin_ids, preg_grep('/^' . preg_quote($id, '/') . PluginBase::DERIVATIVE_SEPARATOR . '/', $all_ids)); if ($this->hasDefinition($id)) { $plugin_ids[] = $id; } diff --git a/web/core/modules/migrate/tests/src/Kernel/MigrateTestBase.php b/web/core/modules/migrate/tests/src/Kernel/MigrateTestBase.php index efd707aa0ac5f00d90d7e91bab00e0179c71264e..4b7d569a8d938ae6b042ac126246360e7115df67 100644 --- a/web/core/modules/migrate/tests/src/Kernel/MigrateTestBase.php +++ b/web/core/modules/migrate/tests/src/Kernel/MigrateTestBase.php @@ -186,12 +186,8 @@ protected function executeMigration($migration) { */ protected function executeMigrations(array $ids) { $manager = $this->container->get('plugin.manager.migration'); - array_walk($ids, function ($id) use ($manager) { - // This is possibly a base plugin ID and we want to run all derivatives. - $instances = $manager->createInstances($id); - $this->assertNotEmpty($instances, sprintf("No migrations created for id '%s'.", $id)); - array_walk($instances, [$this, 'executeMigration']); - }); + $instances = $manager->createInstances($ids); + array_walk($instances, [$this, 'executeMigration']); } /** diff --git a/web/core/modules/migrate/tests/src/Kernel/SqlBaseTest.php b/web/core/modules/migrate/tests/src/Kernel/SqlBaseTest.php index 105d2c1cb98af5689e15927bb435a41402747852..87dd77ba918b8838991c154600754e4dd168c18d 100644 --- a/web/core/modules/migrate/tests/src/Kernel/SqlBaseTest.php +++ b/web/core/modules/migrate/tests/src/Kernel/SqlBaseTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\migrate\Kernel\SqlBaseTest. - */ - namespace Drupal\Tests\migrate\Kernel; use Drupal\Core\Database\Query\ConditionInterface; diff --git a/web/core/modules/migrate/tests/src/Unit/MigrateSourceTest.php b/web/core/modules/migrate/tests/src/Unit/MigrateSourceTest.php index 9042419f86c5ec3161d0ecbf775e84c654781022..833a6f7e9ed5916960e0ff59d50fddf792849d18 100644 --- a/web/core/modules/migrate/tests/src/Unit/MigrateSourceTest.php +++ b/web/core/modules/migrate/tests/src/Unit/MigrateSourceTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\migrate\Unit\MigrateSourceTest. - */ - namespace Drupal\Tests\migrate\Unit; use Drupal\Core\Cache\CacheBackendInterface; diff --git a/web/core/modules/migrate/tests/src/Unit/MigrationPluginManagerTest.php b/web/core/modules/migrate/tests/src/Unit/MigrationPluginManagerTest.php index 1744878220337bdc359e55c731f68e9e510e4d18..0982d783336fd33451a0bb0d97b604dc6ecef2c3 100644 --- a/web/core/modules/migrate/tests/src/Unit/MigrationPluginManagerTest.php +++ b/web/core/modules/migrate/tests/src/Unit/MigrationPluginManagerTest.php @@ -2,6 +2,7 @@ namespace Drupal\Tests\migrate\Unit; +use Drupal\Core\Cache\CacheBackendInterface; use Drupal\migrate\Plugin\Migration; use Drupal\migrate\Plugin\MigrationPluginManager; use Drupal\Tests\UnitTestCase; @@ -65,6 +66,25 @@ public function testDependencyBuilding($migrations_data, $result_ids) { } } + /** + * Tests that expandPluginIds returns all derivatives. + */ + public function testExpandPluginIds() { + $backend = $this->prophesize(CacheBackendInterface::class); + $cache = new \stdClass(); + $cache->data = [ + 'a:a' => ['provider' => 'core'], + 'a:b' => ['provider' => 'core'], + 'b' => ['provider' => 'core'], + ]; + $backend->get('migration_plugins')->willReturn($cache); + $this->pluginManager->setCacheBackend($backend->reveal(), 'migration_plugins'); + $plugin_ids = $this->pluginManager->expandPluginIds(['b', 'a']); + $this->assertContains('a:a', $plugin_ids); + $this->assertContains('a:b', $plugin_ids); + $this->assertContains('b', $plugin_ids); + } + /** * Provide dependency data for testing. */ diff --git a/web/core/modules/migrate/tests/src/Unit/MigrationTest.php b/web/core/modules/migrate/tests/src/Unit/MigrationTest.php index cd4378520a60f5e3686cc4c82274d1abdab819f5..5bf5d79e5aa3141b243e84acdbba35921e8a2c92 100644 --- a/web/core/modules/migrate/tests/src/Unit/MigrationTest.php +++ b/web/core/modules/migrate/tests/src/Unit/MigrationTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\migrate\Unit\MigrationTest. - */ - namespace Drupal\Tests\migrate\Unit; use Drupal\Component\Plugin\Exception\InvalidPluginDefinitionException; diff --git a/web/core/modules/migrate/tests/src/Unit/Plugin/migrate/destination/EntityContentBaseTest.php b/web/core/modules/migrate/tests/src/Unit/Plugin/migrate/destination/EntityContentBaseTest.php index 3319b71a19d23909bea285f375fc21990321022f..592391abf3e75817a0731c631a6c8a019e5bfb56 100644 --- a/web/core/modules/migrate/tests/src/Unit/Plugin/migrate/destination/EntityContentBaseTest.php +++ b/web/core/modules/migrate/tests/src/Unit/Plugin/migrate/destination/EntityContentBaseTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\migrate\Unit\Plugin\migrate\destination\EntityContentBaseTest. - */ - namespace Drupal\Tests\migrate\Unit\Plugin\migrate\destination; use Drupal\Core\Entity\ContentEntityInterface; diff --git a/web/core/modules/migrate/tests/src/Unit/Plugin/migrate/destination/EntityTestBase.php b/web/core/modules/migrate/tests/src/Unit/Plugin/migrate/destination/EntityTestBase.php index 4a5ff3d8a1e207a2f71c107a0d8093fba6f9d325..e88ac677fb32d86abe810afeccea981d629459a7 100644 --- a/web/core/modules/migrate/tests/src/Unit/Plugin/migrate/destination/EntityTestBase.php +++ b/web/core/modules/migrate/tests/src/Unit/Plugin/migrate/destination/EntityTestBase.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\migrate\Unit\Plugin\migrate\destination\EntityTestBase. - */ - namespace Drupal\Tests\migrate\Unit\Plugin\migrate\destination; use Drupal\Core\Entity\EntityFieldManagerInterface; diff --git a/web/core/modules/migrate/tests/src/Unit/SqlBaseTest.php b/web/core/modules/migrate/tests/src/Unit/SqlBaseTest.php index 749d9937f04b54dbd89405f10affd47d1018268e..3ad88c6296c4f665da9a973890879029ea0db98d 100644 --- a/web/core/modules/migrate/tests/src/Unit/SqlBaseTest.php +++ b/web/core/modules/migrate/tests/src/Unit/SqlBaseTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\migrate\Unit\SqlBaseTest. - */ - namespace Drupal\Tests\migrate\Unit; use Drupal\migrate\Plugin\MigrationInterface; diff --git a/web/core/modules/migrate/tests/src/Unit/destination/EntityRevisionTest.php b/web/core/modules/migrate/tests/src/Unit/destination/EntityRevisionTest.php index 374db8a94613cdef3e1f9d75a066c48edd03e2c7..4e25817d3e147f84172a8f445fc220c8ba6d8e86 100644 --- a/web/core/modules/migrate/tests/src/Unit/destination/EntityRevisionTest.php +++ b/web/core/modules/migrate/tests/src/Unit/destination/EntityRevisionTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\migrate\Unit\destination\EntityRevisionTest. - */ - namespace Drupal\Tests\migrate\Unit\destination; use Drupal\Core\Entity\ContentEntityInterface; diff --git a/web/core/modules/migrate/tests/src/Unit/destination/PerComponentEntityDisplayTest.php b/web/core/modules/migrate/tests/src/Unit/destination/PerComponentEntityDisplayTest.php index 83290a9d65e222f1bbed207972775a09326839ca..4a401bc3434f5fe4864dfa9807d432d8768e501c 100644 --- a/web/core/modules/migrate/tests/src/Unit/destination/PerComponentEntityDisplayTest.php +++ b/web/core/modules/migrate/tests/src/Unit/destination/PerComponentEntityDisplayTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\migrate\Unit\destination\PerComponentEntityDisplayTest. - */ - namespace Drupal\Tests\migrate\Unit\destination; use Drupal\migrate\Plugin\migrate\destination\ComponentEntityDisplayBase; diff --git a/web/core/modules/migrate/tests/src/Unit/destination/PerComponentEntityFormDisplayTest.php b/web/core/modules/migrate/tests/src/Unit/destination/PerComponentEntityFormDisplayTest.php index eb0996fc0c8e11244e70032b59d3fdb65f016e71..ceea7010bac27e6da4025e1611a4750890787afd 100644 --- a/web/core/modules/migrate/tests/src/Unit/destination/PerComponentEntityFormDisplayTest.php +++ b/web/core/modules/migrate/tests/src/Unit/destination/PerComponentEntityFormDisplayTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\migrate\Unit\destination\PerComponentEntityFormDisplayTest. - */ - namespace Drupal\Tests\migrate\Unit\destination; use Drupal\migrate\Plugin\migrate\destination\PerComponentEntityFormDisplay; diff --git a/web/core/modules/migrate/tests/src/Unit/process/ConcatTest.php b/web/core/modules/migrate/tests/src/Unit/process/ConcatTest.php index d504bc7285a767c3eab9f36bedf6285eedc74289..d45ff4bab9c4b98aea1cdfde851be0dae037ff12 100644 --- a/web/core/modules/migrate/tests/src/Unit/process/ConcatTest.php +++ b/web/core/modules/migrate/tests/src/Unit/process/ConcatTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\migrate\Unit\process\ConcatTest. - */ - namespace Drupal\Tests\migrate\Unit\process; use Drupal\migrate\MigrateException; diff --git a/web/core/modules/migrate_drupal/tests/src/Unit/MigrationStateUnitTest.php b/web/core/modules/migrate_drupal/tests/src/Unit/MigrationStateUnitTest.php index ea4b54356ea665bc835426235bb22d15233f3d4b..1dd8f926960f2a97dc7e6141f4066cd0729a8b3e 100644 --- a/web/core/modules/migrate_drupal/tests/src/Unit/MigrationStateUnitTest.php +++ b/web/core/modules/migrate_drupal/tests/src/Unit/MigrationStateUnitTest.php @@ -48,7 +48,7 @@ public function testGetUpgradeStates($modules_to_enable, $files, $field_plugins, foreach ($files as $module => $contents) { $path = $url . '/' . $module . '/migrations/state'; - mkdir($path, '0755', TRUE); + mkdir($path, 0755, TRUE); file_put_contents($path . '/' . $module . '.migrate_drupal.yml', $contents); } $moduleHandler->getModuleDirectories() diff --git a/web/core/modules/migrate_drupal/tests/src/Unit/source/d6/Drupal6SqlBaseTest.php b/web/core/modules/migrate_drupal/tests/src/Unit/source/d6/Drupal6SqlBaseTest.php index bc27bb0fc5b0ff636fffd2e4e4bb6bef3f5fa570..470af2de0680f66dfa99d2cb2cb818aba31d4fce 100644 --- a/web/core/modules/migrate_drupal/tests/src/Unit/source/d6/Drupal6SqlBaseTest.php +++ b/web/core/modules/migrate_drupal/tests/src/Unit/source/d6/Drupal6SqlBaseTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\migrate_drupal\Unit\source\d6\Drupal6SqlBaseTest. - */ - namespace Drupal\Tests\migrate_drupal\Unit\source\d6; use Drupal\Tests\migrate\Unit\MigrateTestCase; diff --git a/web/core/modules/node/tests/src/Kernel/Migrate/d7/MigrateNodeTest.php b/web/core/modules/node/tests/src/Kernel/Migrate/d7/MigrateNodeTest.php index 3947f11ef82ebda263b910f16f16bf09b1294480..8245e832a6268671b2d98cf230fa813355c8f538 100644 --- a/web/core/modules/node/tests/src/Kernel/Migrate/d7/MigrateNodeTest.php +++ b/web/core/modules/node/tests/src/Kernel/Migrate/d7/MigrateNodeTest.php @@ -60,8 +60,8 @@ protected function setUp(): void { 'd7_language_content_settings', 'd7_comment_field', 'd7_comment_field_instance', - 'd7_node', 'd7_node_translation', + 'd7_node', 'd7_entity_translation_settings', 'd7_taxonomy_term_entity_translation', 'd7_node_entity_translation', diff --git a/web/core/modules/path/tests/src/Functional/PathContentModerationTest.php b/web/core/modules/path/tests/src/Functional/PathContentModerationTest.php index 44577276946ea35d511ff2a8c0e227a1b7edeece..af792531872d3b960bae3fe72b351d62426b2690 100644 --- a/web/core/modules/path/tests/src/Functional/PathContentModerationTest.php +++ b/web/core/modules/path/tests/src/Functional/PathContentModerationTest.php @@ -2,7 +2,9 @@ namespace Drupal\Tests\path\Functional; +use Drupal\Core\Language\LanguageInterface; use Drupal\language\Entity\ConfigurableLanguage; +use Drupal\language\Entity\ContentLanguageSettings; use Drupal\Tests\BrowserTestBase; use Drupal\Tests\content_moderation\Traits\ContentModerationTestTrait; @@ -59,17 +61,17 @@ protected function setUp(): void { $this->drupalGet('admin/config/regional/language/detection'); $this->submitForm($edit, 'Save settings'); - // Enable translation for moderated node. - $edit = [ - 'entity_types[node]' => 1, - 'settings[node][moderated][translatable]' => 1, - 'settings[node][moderated][fields][path]' => 1, - 'settings[node][moderated][fields][body]' => 1, - 'settings[node][moderated][settings][language][language_alterable]' => 1, - ]; - $this->drupalGet('admin/config/regional/content-language'); - $this->submitForm($edit, 'Save configuration'); - \Drupal::entityTypeManager()->clearCachedDefinitions(); + // Enable translation for page. + $config = ContentLanguageSettings::loadByEntityTypeBundle('node', 'moderated'); + $config->setDefaultLangcode(LanguageInterface::LANGCODE_SITE_DEFAULT); + $config->setLanguageAlterable(TRUE); + $config->save(); + + $content_translation_manager = $this->container->get('content_translation.manager'); + $content_translation_manager->setEnabled('node', 'moderated', TRUE); + $content_translation_manager->setBundleTranslationSettings('node', 'moderated', [ + 'untranslatable_fields_hide' => FALSE, + ]); } /** diff --git a/web/core/modules/phpass/tests/src/Unit/PasswordVerifyTest.php b/web/core/modules/phpass/tests/src/Unit/PasswordVerifyTest.php index f080bd2396deff3b6516a04f6bdb86d703218ddc..c130029ee185887b15b0d5e21683fd3c9f9fb985 100644 --- a/web/core/modules/phpass/tests/src/Unit/PasswordVerifyTest.php +++ b/web/core/modules/phpass/tests/src/Unit/PasswordVerifyTest.php @@ -149,7 +149,7 @@ public function providerLongPasswords() { // Check a string of 3-byte UTF-8 characters, 510 byte long password is // allowed. - $len = floor(PasswordInterface::PASSWORD_MAX_LENGTH / 3); + $len = (int) floor(PasswordInterface::PASSWORD_MAX_LENGTH / 3); $diff = PasswordInterface::PASSWORD_MAX_LENGTH % 3; $passwords['utf8'] = [str_repeat('€', $len), TRUE]; // 512 byte long password is allowed. diff --git a/web/core/modules/search/tests/src/Unit/SearchPageRepositoryTest.php b/web/core/modules/search/tests/src/Unit/SearchPageRepositoryTest.php index 0781e2989529c852f57e918de6fd78b1e5be106c..d551495120d572316d167117b967119698e15709 100644 --- a/web/core/modules/search/tests/src/Unit/SearchPageRepositoryTest.php +++ b/web/core/modules/search/tests/src/Unit/SearchPageRepositoryTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\search\Unit\SearchPageRepositoryTest. - */ - namespace Drupal\Tests\search\Unit; use Drupal\Core\Entity\EntityTypeInterface; diff --git a/web/core/modules/serialization/tests/src/Unit/Normalizer/ComplexDataNormalizerTest.php b/web/core/modules/serialization/tests/src/Unit/Normalizer/ComplexDataNormalizerTest.php index 876dca0a11f5b57670444e08f2b43ad564ad7805..ebf5b65bab75e285d1fb804f4976ce1d887240e4 100644 --- a/web/core/modules/serialization/tests/src/Unit/Normalizer/ComplexDataNormalizerTest.php +++ b/web/core/modules/serialization/tests/src/Unit/Normalizer/ComplexDataNormalizerTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\serialization\Unit\Normalizer\ComplexDataNormalizerTest. - */ - namespace Drupal\Tests\serialization\Unit\Normalizer; use Drupal\Core\TypedData\ComplexDataInterface; diff --git a/web/core/modules/serialization/tests/src/Unit/Normalizer/NormalizerBaseTest.php b/web/core/modules/serialization/tests/src/Unit/Normalizer/NormalizerBaseTest.php index 0a568093ba5b9bf8c83307294dce6025779ea7dc..175e26eaa713aa94e51c3894ecb51a9fafcdc303 100644 --- a/web/core/modules/serialization/tests/src/Unit/Normalizer/NormalizerBaseTest.php +++ b/web/core/modules/serialization/tests/src/Unit/Normalizer/NormalizerBaseTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\serialization\Unit\Normalizer\NormalizerBaseTest. - */ - namespace Drupal\Tests\serialization\Unit\Normalizer; use Drupal\Tests\UnitTestCase; diff --git a/web/core/modules/system/system.install b/web/core/modules/system/system.install index 635f152ea214eb927efe395c3796bb35f1c7cb17..82a2f32d0b81c1bd8fbd12cdbc9baca67f844441 100644 --- a/web/core/modules/system/system.install +++ b/web/core/modules/system/system.install @@ -338,7 +338,7 @@ function system_requirements($phase) { // errors, so warn about that when running Drupal on those versions. // @todo Remove this when \Drupal::MINIMUM_PHP is at least 8.1.6 in // https://www.drupal.org/i/3305726. - if (version_compare(\Drupal::MINIMUM_PHP, '8.1.6') < 0) { + if (version_compare($phpversion, '8.1.6') < 0) { $requirements['php']['description'] = t('PHP %version has <a href=":bug_url">an OPcache bug that can cause fatal errors with class autoloading</a>. This can be fixed by upgrading to PHP 8.1.6 or later. See <a href="http://php.net/supported-versions.php">PHP\'s version support documentation</a> and the <a href=":php_requirements">Drupal PHP requirements</a> page for more information.', [ '%version' => $phpversion, ':bug_url' => 'https://github.com/php/php-src/issues/8164', diff --git a/web/core/modules/system/tests/src/Functional/System/PhpRequirementTest.php b/web/core/modules/system/tests/src/Functional/System/PhpRequirementTest.php index 905087ffc24a67287c95cf0ecd177bd6e7e17be8..a8010ecf2cfa8046dc97419850b284ed71171cfe 100644 --- a/web/core/modules/system/tests/src/Functional/System/PhpRequirementTest.php +++ b/web/core/modules/system/tests/src/Functional/System/PhpRequirementTest.php @@ -76,7 +76,7 @@ public function testStatusPage() { // bug in OPcache. // @todo Remove this when \Drupal::MINIMUM_PHP is at least 8.1.6 in // https://www.drupal.org/i/3305726. - if (version_compare(\Drupal::MINIMUM_PHP, '8.1.6') < 0) { + if (version_compare($phpversion, '8.1.6') < 0) { $this->assertSession()->pageTextContains("PHP $phpversion has an OPcache bug that can cause fatal errors with class autoloading. This can be fixed by upgrading to PHP 8.1.6 or later."); $this->assertSession()->linkExists('an OPcache bug that can cause fatal errors with class autoloading'); } diff --git a/web/core/modules/system/tests/src/FunctionalJavascript/FrameworkTest.php b/web/core/modules/system/tests/src/FunctionalJavascript/FrameworkTest.php index f6c21f89f04780eda6dbedc03c6bf708f8f10adf..360930cc2e2bc0d11809cc77791c2623c58a5510 100644 --- a/web/core/modules/system/tests/src/FunctionalJavascript/FrameworkTest.php +++ b/web/core/modules/system/tests/src/FunctionalJavascript/FrameworkTest.php @@ -2,7 +2,6 @@ namespace Drupal\Tests\system\FunctionalJavascript; -use Drupal\Component\Render\FormattableMarkup; use Drupal\FunctionalJavascriptTests\WebDriverTestBase; /** @@ -43,9 +42,9 @@ public function testLazyLoad() { // Verify that the base page doesn't have the settings and files that are to // be lazy loaded as part of the next requests. - $this->assertTrue(!isset($original_settings[$expected['setting_name']]), new FormattableMarkup('Page originally lacks the %setting, as expected.', ['%setting' => $expected['setting_name']])); - $this->assertNotContains($expected['library_1'], $original_libraries, new FormattableMarkup('Page originally lacks the %library library, as expected.', ['%library' => $expected['library_1']])); - $this->assertNotContains($expected['library_2'], $original_libraries, new FormattableMarkup('Page originally lacks the %library library, as expected.', ['%library' => $expected['library_2']])); + $this->assertTrue(!isset($original_settings[$expected['setting_name']]), "Page originally lacks the {$expected['setting_name']}, as expected."); + $this->assertNotContains($expected['library_1'], $original_libraries, "Page originally lacks the {$expected['library_1']} library, as expected."); + $this->assertNotContains($expected['library_2'], $original_libraries, "Page originally lacks the {$expected['library_2']} library, as expected."); // Submit the AJAX request without triggering files getting added. $page->pressButton('Submit'); @@ -54,9 +53,9 @@ public function testLazyLoad() { $new_libraries = explode(',', $new_settings['ajaxPageState']['libraries']); // Verify the setting was not added when not expected. - $this->assertTrue(!isset($new_settings[$expected['setting_name']]), new FormattableMarkup('Page still lacks the %setting, as expected.', ['%setting' => $expected['setting_name']])); - $this->assertNotContains($expected['library_1'], $new_libraries, new FormattableMarkup('Page still lacks the %library library, as expected.', ['%library' => $expected['library_1']])); - $this->assertNotContains($expected['library_2'], $new_libraries, new FormattableMarkup('Page still lacks the %library library, as expected.', ['%library' => $expected['library_2']])); + $this->assertTrue(!isset($new_settings[$expected['setting_name']]), "Page still lacks the {$expected['setting_name']}, as expected."); + $this->assertNotContains($expected['library_1'], $new_libraries, "Page still lacks the {$expected['library_1']} library, as expected."); + $this->assertNotContains($expected['library_2'], $new_libraries, "Page still lacks the {$expected['library_2']} library, as expected."); // Submit the AJAX request and trigger adding files. $page->checkField('add_files'); @@ -67,11 +66,11 @@ public function testLazyLoad() { // Verify the expected setting was added, both to drupalSettings, and as // the first AJAX command. - $this->assertSame($expected['setting_value'], $new_settings[$expected['setting_name']], new FormattableMarkup('Page now has the %setting.', ['%setting' => $expected['setting_name']])); + $this->assertSame($expected['setting_value'], $new_settings[$expected['setting_name']], "Page now has the {$expected['setting_name']}."); // Verify the expected CSS file was added, both to drupalSettings, and as // the second AJAX command for inclusion into the HTML. - $this->assertContains($expected['library_1'], $new_libraries, new FormattableMarkup('Page state now has the %library library.', ['%library' => $expected['library_1']])); + $this->assertContains($expected['library_1'], $new_libraries, "Page state now has the {$expected['library_1']} library."); // Verify the expected JS file was added, both to drupalSettings, and as // the third AJAX command for inclusion into the HTML. By testing for an @@ -79,7 +78,7 @@ public function testLazyLoad() { // unexpected JavaScript code, such as a jQuery.extend() that would // potentially clobber rather than properly merge settings, didn't // accidentally get added. - $this->assertContains($expected['library_2'], $new_libraries, new FormattableMarkup('Page state now has the %library library.', ['%library' => $expected['library_2']])); + $this->assertContains($expected['library_2'], $new_libraries, "Page state now has the {$expected['library_2']} library."); } /** diff --git a/web/core/modules/system/tests/src/FunctionalJavascript/OffCanvasTest.php b/web/core/modules/system/tests/src/FunctionalJavascript/OffCanvasTest.php index 6663a276665324a2ec5f4303beb078a08f6229be..9e3a21977e715a6113709510b933f48a16e3972c 100644 --- a/web/core/modules/system/tests/src/FunctionalJavascript/OffCanvasTest.php +++ b/web/core/modules/system/tests/src/FunctionalJavascript/OffCanvasTest.php @@ -52,10 +52,10 @@ public function testOffCanvasLinks($theme) { // Make sure tray updates to new content. // Check the first link again to make sure the empty title class is // removed. - foreach (['1', '2', '1'] as $link_index) { + foreach ([1, 2, 1] as $link_index) { $this->assertOffCanvasDialog($link_index, 'side'); $header_text = $this->getOffCanvasDialog()->find('css', '.ui-dialog-title')->getText(); - if ($link_index == '2') { + if ($link_index === 2) { // Check no title behavior. $web_assert->elementExists('css', '.ui-dialog-empty-title'); $this->assertEquals(' ', $header_text); diff --git a/web/core/modules/system/tests/src/Kernel/Scripts/DbCommandBaseTest.php b/web/core/modules/system/tests/src/Kernel/Scripts/DbCommandBaseTest.php index 8f08d88dd0dff2894ece2549d1847aecd9e2e001..5fddc84c0a80a7f3b1f8f01ea4f5ec80eeacecd8 100644 --- a/web/core/modules/system/tests/src/Kernel/Scripts/DbCommandBaseTest.php +++ b/web/core/modules/system/tests/src/Kernel/Scripts/DbCommandBaseTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\system\Kernel\Scripts\DbCommandBaseTest. - */ - namespace Drupal\Tests\system\Kernel\Scripts; use Drupal\Core\Command\DbCommandBase; diff --git a/web/core/modules/system/tests/src/Unit/Breadcrumbs/PathBasedBreadcrumbBuilderTest.php b/web/core/modules/system/tests/src/Unit/Breadcrumbs/PathBasedBreadcrumbBuilderTest.php index 2f366bfef6af195a813ada4a1aefa7b7561ed427..78dd3fdeb3e5a706875de4888171aa39565f8fe8 100644 --- a/web/core/modules/system/tests/src/Unit/Breadcrumbs/PathBasedBreadcrumbBuilderTest.php +++ b/web/core/modules/system/tests/src/Unit/Breadcrumbs/PathBasedBreadcrumbBuilderTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\system\Unit\Breadcrumbs\PathBasedBreadcrumbBuilderTest. - */ - namespace Drupal\Tests\system\Unit\Breadcrumbs; use Drupal\Core\Access\AccessResult; diff --git a/web/core/modules/taxonomy/src/Entity/Term.php b/web/core/modules/taxonomy/src/Entity/Term.php index 5b4d8dbdb952adddac3829d27d0fa5a408cc2e36..5d52df611163875fc1dc295b1e1f2e6fb6da6a74 100644 --- a/web/core/modules/taxonomy/src/Entity/Term.php +++ b/web/core/modules/taxonomy/src/Entity/Term.php @@ -252,7 +252,7 @@ public function setFormat($format) { * {@inheritdoc} */ public function getName() { - return $this->label(); + return $this->label() ?? ''; } /** diff --git a/web/core/modules/taxonomy/tests/src/Functional/TaxonomyImageTest.php b/web/core/modules/taxonomy/tests/src/Functional/TaxonomyImageTest.php new file mode 100644 index 0000000000000000000000000000000000000000..3afc39a17c2040d41fd39e530683dcb1dfa167d0 --- /dev/null +++ b/web/core/modules/taxonomy/tests/src/Functional/TaxonomyImageTest.php @@ -0,0 +1,94 @@ +<?php + +namespace Drupal\Tests\taxonomy\Functional; + +use Drupal\Tests\TestFileCreationTrait; +use Drupal\field\Entity\FieldConfig; +use Drupal\field\Entity\FieldStorageConfig; +use Drupal\taxonomy\VocabularyInterface; + +/** + * Tests image upload on taxonomy terms. + * + * @group taxonomy + */ +class TaxonomyImageTest extends TaxonomyTestBase { + + use TestFileCreationTrait { + getTestFiles as drupalGetTestFiles; + compareFiles as drupalCompareFiles; + } + + /** + * The taxonomy vocabulary used for the test. + * + * @var \Drupal\taxonomy\VocabularyInterface + */ + protected VocabularyInterface $vocabulary; + + /** + * {@inheritdoc} + */ + protected static $modules = ['image']; + + /** + * {@inheritdoc} + */ + protected $defaultTheme = 'stark'; + + /** + * {@inheritdoc} + */ + protected function setUp(): void { + parent::setUp(); + + $this->vocabulary = $this->createVocabulary(); + $entity_type = 'taxonomy_term'; + $name = 'field_test'; + FieldStorageConfig::create([ + 'field_name' => $name, + 'entity_type' => $entity_type, + 'type' => 'image', + ])->save(); + FieldConfig::create([ + 'field_name' => $name, + 'entity_type' => $entity_type, + 'bundle' => $this->vocabulary->id(), + 'settings' => [], + ])->save(); + /** @var \Drupal\Core\Entity\EntityDisplayRepositoryInterface $display_repository */ + $display_repository = \Drupal::service('entity_display.repository'); + $display_repository->getFormDisplay($entity_type, $this->vocabulary->id()) + ->setComponent($name, [ + 'type' => 'image_image', + 'settings' => [], + ]) + ->save(); + } + + /** + * Tests that a file can be uploaded before the taxonomy term has a name. + */ + public function testTaxonomyImageUpload(): void { + $user = $this->drupalCreateUser(['administer taxonomy']); + $this->drupalLogin($user); + + $files = $this->drupalGetTestFiles('image'); + $image = array_pop($files); + + // Ensure that a file can be uploaded before taxonomy term has a name. + $edit = [ + 'files[field_test_0]' => \Drupal::service('file_system')->realpath($image->uri), + ]; + $this->drupalGet('admin/structure/taxonomy/manage/' . $this->vocabulary->id() . '/add'); + $this->submitForm($edit, 'Upload'); + + $edit = [ + 'name[0][value]' => $this->randomMachineName(), + 'field_test[0][alt]' => $this->randomMachineName(), + ]; + $this->submitForm($edit, 'Save'); + $this->assertSession()->pageTextContains('Created new term'); + } + +} diff --git a/web/core/modules/update/tests/src/Unit/UpdateFetcherTest.php b/web/core/modules/update/tests/src/Unit/UpdateFetcherTest.php index cde0a60c3dedc5baf367a1aba700a03155436709..2c1256e9f94ae43f801f5e9399be3ea9470d4790 100644 --- a/web/core/modules/update/tests/src/Unit/UpdateFetcherTest.php +++ b/web/core/modules/update/tests/src/Unit/UpdateFetcherTest.php @@ -178,7 +178,7 @@ public function testUpdateFetcherNoFallback() { // First, try without the HTTP fallback setting, and HTTPS mocked to fail. $settings = new Settings([]); $this->mockClient( - new Response('500', [], 'HTTPS failed'), + new Response(500, [], 'HTTPS failed'), ); $update_fetcher = new UpdateFetcher($this->mockConfigFactory, $this->mockHttpClient, $settings, $this->logger); @@ -206,8 +206,8 @@ public function testUpdateFetcherNoFallback() { public function testUpdateFetcherHttpFallback() { $settings = new Settings(['update_fetch_with_http_fallback' => TRUE]); $this->mockClient( - new Response('500', [], 'HTTPS failed'), - new Response('200', [], 'HTTP worked'), + new Response(500, [], 'HTTPS failed'), + new Response(200, [], 'HTTP worked'), ); $update_fetcher = new UpdateFetcher($this->mockConfigFactory, $this->mockHttpClient, $settings, $this->logger); diff --git a/web/core/modules/user/tests/src/Traits/UserCreationTrait.php b/web/core/modules/user/tests/src/Traits/UserCreationTrait.php index 683ba355c8ad4e8a5e567730c94ac3d84e092e80..9237d13b13e48fd9fc04d4e45ebf3a1b51d2e0a5 100644 --- a/web/core/modules/user/tests/src/Traits/UserCreationTrait.php +++ b/web/core/modules/user/tests/src/Traits/UserCreationTrait.php @@ -2,7 +2,6 @@ namespace Drupal\Tests\user\Traits; -use Drupal\Component\Render\FormattableMarkup; use Drupal\Core\Database\DatabaseExceptionWrapper; use Drupal\Core\Database\SchemaObjectExistsException; use Drupal\Core\Entity\EntityStorageException; @@ -191,7 +190,7 @@ protected function createUser(array $permissions = [], $name = NULL, $admin = FA $account->save(); $valid_user = $account->id() !== NULL; - $this->assertTrue($valid_user, new FormattableMarkup('User created with name %name and pass %pass', ['%name' => $edit['name'], '%pass' => $edit['pass']])); + $this->assertTrue($valid_user, "User created with name {$edit['name']} and pass {$edit['pass']}"); if (!$valid_user) { return FALSE; } @@ -271,7 +270,7 @@ protected function createRole(array $permissions, $rid = NULL, $name = NULL, $we } $result = $role->save(); - $this->assertSame(SAVED_NEW, $result, new FormattableMarkup('Created role ID @rid with name @name.', ['@name' => var_export($role->label(), TRUE), '@rid' => var_export($role->id(), TRUE)])); + $this->assertSame(SAVED_NEW, $result, "Created role ID {$role->id()} with name {$role->label()}."); if ($result === SAVED_NEW) { // Grant the specified permissions to the role, if any. @@ -302,7 +301,7 @@ protected function checkPermissions(array $permissions) { $valid = TRUE; foreach ($permissions as $permission) { if (!in_array($permission, $available)) { - $this->fail(new FormattableMarkup('Invalid permission %permission.', ['%permission' => $permission])); + $this->fail("Invalid permission $permission."); $valid = FALSE; } } diff --git a/web/core/modules/user/tests/src/Unit/PermissionHandlerTest.php b/web/core/modules/user/tests/src/Unit/PermissionHandlerTest.php index 050895a073254cde36bd46821cd242a45f551bf3..50eb4790c5e9c3c43e019b560840bbf6a693a2e8 100644 --- a/web/core/modules/user/tests/src/Unit/PermissionHandlerTest.php +++ b/web/core/modules/user/tests/src/Unit/PermissionHandlerTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\user\Unit\PermissionHandlerTest. - */ - namespace Drupal\Tests\user\Unit; use Drupal\Core\Extension\Extension; diff --git a/web/core/modules/views/tests/src/Kernel/Plugin/PluginBaseTest.php b/web/core/modules/views/tests/src/Kernel/Plugin/PluginBaseTest.php index d02e657a897576ba8c32a8cdc341a85ea1c444c7..720b0f1ce9ad233250b0b2b4ee40ee650d08ef3e 100644 --- a/web/core/modules/views/tests/src/Kernel/Plugin/PluginBaseTest.php +++ b/web/core/modules/views/tests/src/Kernel/Plugin/PluginBaseTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\views\Tests\Plugin\PluginBaseTest. - */ - namespace Drupal\Tests\views\Kernel\Plugin; use Drupal\Core\Render\RenderContext; diff --git a/web/core/modules/views/tests/src/Unit/EventSubscriber/RouteSubscriberTest.php b/web/core/modules/views/tests/src/Unit/EventSubscriber/RouteSubscriberTest.php index 9975f9e63099a8a2859c35729a4f72bdc0aefa96..a458bddafba70bab74bd21837852397399e0c411 100644 --- a/web/core/modules/views/tests/src/Unit/EventSubscriber/RouteSubscriberTest.php +++ b/web/core/modules/views/tests/src/Unit/EventSubscriber/RouteSubscriberTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\views\Unit\EventSubscriber\RouteSubscriberTest. - */ - namespace Drupal\Tests\views\Unit\EventSubscriber; use Drupal\Core\Entity\EntityTypeManagerInterface; diff --git a/web/core/modules/views/tests/src/Unit/Plugin/Derivative/ViewsLocalTaskTest.php b/web/core/modules/views/tests/src/Unit/Plugin/Derivative/ViewsLocalTaskTest.php index 6ef6dee2e96fcdb9407b1fbedaf7771698bb3c0b..be6c2851d63e7357dea09b7ccb1208537401b539 100644 --- a/web/core/modules/views/tests/src/Unit/Plugin/Derivative/ViewsLocalTaskTest.php +++ b/web/core/modules/views/tests/src/Unit/Plugin/Derivative/ViewsLocalTaskTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\views\Unit\Plugin\Derivative\ViewsLocalTaskTest. - */ - namespace Drupal\Tests\views\Unit\Plugin\Derivative; use Drupal\Tests\UnitTestCase; diff --git a/web/core/modules/views/tests/src/Unit/Plugin/HandlerBaseTest.php b/web/core/modules/views/tests/src/Unit/Plugin/HandlerBaseTest.php index f3468a0763c4e6f251b086ab995c9bd759f56024..52cd88de7952e7b734bf27f2fa4d9e919ae7029c 100644 --- a/web/core/modules/views/tests/src/Unit/Plugin/HandlerBaseTest.php +++ b/web/core/modules/views/tests/src/Unit/Plugin/HandlerBaseTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\views\Unit\Plugin\HandlerBaseTest. - */ - namespace Drupal\Tests\views\Unit\Plugin; use Drupal\Tests\UnitTestCase; diff --git a/web/core/modules/views/tests/src/Unit/Plugin/display/PathPluginBaseTest.php b/web/core/modules/views/tests/src/Unit/Plugin/display/PathPluginBaseTest.php index e4a24f61144068f35f10c0e35d6d08da9f7e0789..d77f21a42d34658e29d21d2655542eece20d2963 100644 --- a/web/core/modules/views/tests/src/Unit/Plugin/display/PathPluginBaseTest.php +++ b/web/core/modules/views/tests/src/Unit/Plugin/display/PathPluginBaseTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\views\Unit\Plugin\display\PathPluginBaseTest. - */ - namespace Drupal\Tests\views\Unit\Plugin\display; use Drupal\Core\DependencyInjection\ContainerBuilder; diff --git a/web/core/modules/views/tests/src/Unit/Plugin/field/FieldPluginBaseTest.php b/web/core/modules/views/tests/src/Unit/Plugin/field/FieldPluginBaseTest.php index a02816727a31f301dc2060e0d518e0feff0d18e2..4ddf6ab5644eacb373e0fd6b138020ef2810b4bc 100644 --- a/web/core/modules/views/tests/src/Unit/Plugin/field/FieldPluginBaseTest.php +++ b/web/core/modules/views/tests/src/Unit/Plugin/field/FieldPluginBaseTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\views\Unit\Plugin\field\FieldPluginBaseTest. - */ - namespace Drupal\Tests\views\Unit\Plugin\field; use Drupal\Core\GeneratedUrl; diff --git a/web/core/modules/views/tests/src/Unit/Plugin/field/FieldTest.php b/web/core/modules/views/tests/src/Unit/Plugin/field/FieldTest.php index c60e91447f0fc1ae6a14fc5a4c0306ce5f13fefd..b1ad678df2b914818f084355a1db2410706ab834 100644 --- a/web/core/modules/views/tests/src/Unit/Plugin/field/FieldTest.php +++ b/web/core/modules/views/tests/src/Unit/Plugin/field/FieldTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\views\Unit\Plugin\field\FieldTest. - */ - namespace Drupal\Tests\views\Unit\Plugin\field; use Drupal\Core\Entity\EntityFieldManagerInterface; diff --git a/web/core/modules/views/tests/src/Unit/Plugin/pager/PagerPluginBaseTest.php b/web/core/modules/views/tests/src/Unit/Plugin/pager/PagerPluginBaseTest.php index 72b1e661e94695bae6c03ba5403567f2e38bc3fa..89dbc931d3b08a412481581416d5e9380ed68471 100644 --- a/web/core/modules/views/tests/src/Unit/Plugin/pager/PagerPluginBaseTest.php +++ b/web/core/modules/views/tests/src/Unit/Plugin/pager/PagerPluginBaseTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\views\Unit\Plugin\pager\PagerPluginBaseTest. - */ - namespace Drupal\Tests\views\Unit\Plugin\pager; use Drupal\Tests\UnitTestCase; diff --git a/web/core/modules/views_ui/tests/src/Unit/ViewListBuilderTest.php b/web/core/modules/views_ui/tests/src/Unit/ViewListBuilderTest.php index b576cb7b01a8d42fbbf691c6d62673428286bbd4..9ebb0fc5b437704fe5e633ff0e6e85e9c7d5d216 100644 --- a/web/core/modules/views_ui/tests/src/Unit/ViewListBuilderTest.php +++ b/web/core/modules/views_ui/tests/src/Unit/ViewListBuilderTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\views_ui\Unit\ViewListBuilderTest. - */ - namespace Drupal\Tests\views_ui\Unit; use Drupal\Core\DependencyInjection\ContainerBuilder; diff --git a/web/core/scripts/run-tests.sh b/web/core/scripts/run-tests.sh index 19766d2a19e178c0e81e1166352bfc6e041f8718..6b4c456fcfb83936f38fdbf8e34cc6139cd5d7f5 100755 --- a/web/core/scripts/run-tests.sh +++ b/web/core/scripts/run-tests.sh @@ -335,6 +335,14 @@ function simpletest_script_help() { will be used. The default is that any unexpected silenced deprecation error will fail tests. + --ci-parallel-node-total + + The total number of instances of this job running in parallel. + + --ci-parallel-node-index + + The index of the job in the job set. + <test1>[,<test2>[,<test3> ...]] One or more tests to be run. By default, these are interpreted diff --git a/web/core/tests/Drupal/FunctionalJavascriptTests/Ajax/DialogTest.php b/web/core/tests/Drupal/FunctionalJavascriptTests/Ajax/DialogTest.php index 1a537175db5c43fb991f68a57bec3a97592cb664..ad4d2e33cc8001c24a67fadf6638e93c5c20afe7 100644 --- a/web/core/tests/Drupal/FunctionalJavascriptTests/Ajax/DialogTest.php +++ b/web/core/tests/Drupal/FunctionalJavascriptTests/Ajax/DialogTest.php @@ -3,7 +3,6 @@ namespace Drupal\FunctionalJavascriptTests\Ajax; use Drupal\ajax_test\Controller\AjaxTestController; -use Drupal\Component\Render\FormattableMarkup; use Drupal\FunctionalJavascriptTests\WebDriverTestBase; /** @@ -72,7 +71,7 @@ public function testDialog() { $dialog = $this->assertSession()->waitForElementVisible('css', 'div.ui-dialog'); $this->assertNotNull($dialog, 'Link was used to open a dialog ( non-modal, with options )'); $style = $dialog->getAttribute('style'); - $this->assertStringContainsString('width: 400px;', $style, new FormattableMarkup('Modal respected the dialog-options width parameter. Style = style', ['%style' => $style])); + $this->assertStringContainsString('width: 400px;', $style, "Modal respected the dialog-options width parameter. Style = $style"); // Reset: Return to the dialog links page. $this->drupalGet('ajax-test/dialog'); diff --git a/web/core/tests/Drupal/FunctionalJavascriptTests/TableDrag/TableDragTest.php b/web/core/tests/Drupal/FunctionalJavascriptTests/TableDrag/TableDragTest.php index 9288ddaf7288895a5196d7eadfc1bf20e36e5840..8609cabc8fa06a72d3ca5d9dd9ac14e27b997d3a 100644 --- a/web/core/tests/Drupal/FunctionalJavascriptTests/TableDrag/TableDragTest.php +++ b/web/core/tests/Drupal/FunctionalJavascriptTests/TableDrag/TableDragTest.php @@ -163,11 +163,11 @@ public function testKeyboardAccessibility() { */ protected function assertKeyboardAccessibility(string $drupal_path = 'tabledrag_test', ?array $structure = NULL): void { $expected_table = $structure ?: [ - ['id' => 1, 'weight' => 0, 'parent' => '', 'indentation' => 0, 'changed' => FALSE], - ['id' => 2, 'weight' => 0, 'parent' => '', 'indentation' => 0, 'changed' => FALSE], - ['id' => 3, 'weight' => 0, 'parent' => '', 'indentation' => 0, 'changed' => FALSE], - ['id' => 4, 'weight' => 0, 'parent' => '', 'indentation' => 0, 'changed' => FALSE], - ['id' => 5, 'weight' => 0, 'parent' => '', 'indentation' => 0, 'changed' => FALSE], + ['id' => '1', 'weight' => 0, 'parent' => '', 'indentation' => 0, 'changed' => FALSE], + ['id' => '2', 'weight' => 0, 'parent' => '', 'indentation' => 0, 'changed' => FALSE], + ['id' => '3', 'weight' => 0, 'parent' => '', 'indentation' => 0, 'changed' => FALSE], + ['id' => '4', 'weight' => 0, 'parent' => '', 'indentation' => 0, 'changed' => FALSE], + ['id' => '5', 'weight' => 0, 'parent' => '', 'indentation' => 0, 'changed' => FALSE], ]; if (!empty($drupal_path)) { $this->state->set('tabledrag_test_table', array_flip(range(1, 5))); @@ -177,45 +177,45 @@ protected function assertKeyboardAccessibility(string $drupal_path = 'tabledrag_ // Nest the row with id 2 as child of row 1. $this->moveRowWithKeyboard($this->findRowById(2), 'right'); - $expected_table[1] = ['id' => 2, 'weight' => -10, 'parent' => 1, 'indentation' => 1, 'changed' => TRUE]; + $expected_table[1] = ['id' => '2', 'weight' => -10, 'parent' => '1', 'indentation' => 1, 'changed' => TRUE]; $this->assertDraggableTable($expected_table); // Nest the row with id 3 as child of row 1. $this->moveRowWithKeyboard($this->findRowById(3), 'right'); - $expected_table[2] = ['id' => 3, 'weight' => -9, 'parent' => 1, 'indentation' => 1, 'changed' => TRUE]; + $expected_table[2] = ['id' => '3', 'weight' => -9, 'parent' => '1', 'indentation' => 1, 'changed' => TRUE]; $this->assertDraggableTable($expected_table); // Nest the row with id 3 as child of row 2. $this->moveRowWithKeyboard($this->findRowById(3), 'right'); - $expected_table[2] = ['id' => 3, 'weight' => -10, 'parent' => 2, 'indentation' => 2, 'changed' => TRUE]; + $expected_table[2] = ['id' => '3', 'weight' => -10, 'parent' => '2', 'indentation' => 2, 'changed' => TRUE]; $this->assertDraggableTable($expected_table); // Nesting should be allowed to maximum level 2. $this->moveRowWithKeyboard($this->findRowById(4), 'right', 4); - $expected_table[3] = ['id' => 4, 'weight' => -9, 'parent' => 2, 'indentation' => 2, 'changed' => TRUE]; + $expected_table[3] = ['id' => '4', 'weight' => -9, 'parent' => '2', 'indentation' => 2, 'changed' => TRUE]; $this->assertDraggableTable($expected_table); // Re-order children of row 1. $this->moveRowWithKeyboard($this->findRowById(4), 'up'); - $expected_table[2] = ['id' => 4, 'weight' => -10, 'parent' => 2, 'indentation' => 2, 'changed' => TRUE]; - $expected_table[3] = ['id' => 3, 'weight' => -9, 'parent' => 2, 'indentation' => 2, 'changed' => TRUE]; + $expected_table[2] = ['id' => '4', 'weight' => -10, 'parent' => '2', 'indentation' => 2, 'changed' => TRUE]; + $expected_table[3] = ['id' => '3', 'weight' => -9, 'parent' => '2', 'indentation' => 2, 'changed' => TRUE]; $this->assertDraggableTable($expected_table); // Move back the row 3 to the 1st level. $this->moveRowWithKeyboard($this->findRowById(3), 'left'); - $expected_table[3] = ['id' => 3, 'weight' => -9, 'parent' => 1, 'indentation' => 1, 'changed' => TRUE]; + $expected_table[3] = ['id' => '3', 'weight' => -9, 'parent' => '1', 'indentation' => 1, 'changed' => TRUE]; $this->assertDraggableTable($expected_table); $this->moveRowWithKeyboard($this->findRowById(3), 'left'); - $expected_table[0] = ['id' => 1, 'weight' => -10, 'parent' => '', 'indentation' => 0, 'changed' => FALSE]; - $expected_table[3] = ['id' => 3, 'weight' => -9, 'parent' => '', 'indentation' => 0, 'changed' => TRUE]; - $expected_table[4] = ['id' => 5, 'weight' => -8, 'parent' => '', 'indentation' => 0, 'changed' => FALSE]; + $expected_table[0] = ['id' => '1', 'weight' => -10, 'parent' => '', 'indentation' => 0, 'changed' => FALSE]; + $expected_table[3] = ['id' => '3', 'weight' => -9, 'parent' => '', 'indentation' => 0, 'changed' => TRUE]; + $expected_table[4] = ['id' => '5', 'weight' => -8, 'parent' => '', 'indentation' => 0, 'changed' => FALSE]; $this->assertDraggableTable($expected_table); // Move row 3 to the last position. $this->moveRowWithKeyboard($this->findRowById(3), 'down'); - $expected_table[3] = ['id' => 5, 'weight' => -9, 'parent' => '', 'indentation' => 0, 'changed' => FALSE]; - $expected_table[4] = ['id' => 3, 'weight' => -8, 'parent' => '', 'indentation' => 0, 'changed' => TRUE]; + $expected_table[3] = ['id' => '5', 'weight' => -9, 'parent' => '', 'indentation' => 0, 'changed' => FALSE]; + $expected_table[4] = ['id' => '3', 'weight' => -8, 'parent' => '', 'indentation' => 0, 'changed' => TRUE]; $this->assertDraggableTable($expected_table); // Nothing happens when trying to move the last row further down. @@ -224,7 +224,7 @@ protected function assertKeyboardAccessibility(string $drupal_path = 'tabledrag_ // Nest row 3 under 5. The max depth allowed should be 1. $this->moveRowWithKeyboard($this->findRowById(3), 'right', 3); - $expected_table[4] = ['id' => 3, 'weight' => -10, 'parent' => 5, 'indentation' => 1, 'changed' => TRUE]; + $expected_table[4] = ['id' => '3', 'weight' => -10, 'parent' => '5', 'indentation' => 1, 'changed' => TRUE]; $this->assertDraggableTable($expected_table); // The first row of the table cannot be nested. @@ -235,11 +235,11 @@ protected function assertKeyboardAccessibility(string $drupal_path = 'tabledrag_ // with nesting preserved. Swap the order of the top-level rows by moving // row 1 to after row 3. $this->moveRowWithKeyboard($this->findRowById(1), 'down', 2); - $expected_table[0] = ['id' => 5, 'weight' => -10, 'parent' => '', 'indentation' => 0, 'changed' => FALSE]; + $expected_table[0] = ['id' => '5', 'weight' => -10, 'parent' => '', 'indentation' => 0, 'changed' => FALSE]; $expected_table[3] = $expected_table[1]; $expected_table[1] = $expected_table[4]; $expected_table[4] = $expected_table[2]; - $expected_table[2] = ['id' => 1, 'weight' => -9, 'parent' => '', 'indentation' => 0, 'changed' => TRUE]; + $expected_table[2] = ['id' => '1', 'weight' => -9, 'parent' => '', 'indentation' => 0, 'changed' => TRUE]; $this->assertDraggableTable($expected_table); } @@ -257,11 +257,11 @@ public function testRootLeafDraggableRowsWithKeyboard() { $this->drupalGet('tabledrag_test'); $expected_table = [ - ['id' => 1, 'weight' => 0, 'parent' => '', 'indentation' => 0, 'changed' => FALSE], - ['id' => 2, 'weight' => 0, 'parent' => 1, 'indentation' => 1, 'changed' => FALSE], - ['id' => 3, 'weight' => 0, 'parent' => 1, 'indentation' => 1, 'changed' => FALSE], - ['id' => 4, 'weight' => 0, 'parent' => '', 'indentation' => 0, 'changed' => FALSE], - ['id' => 5, 'weight' => 0, 'parent' => '', 'indentation' => 0, 'changed' => FALSE], + ['id' => '1', 'weight' => 0, 'parent' => '', 'indentation' => 0, 'changed' => FALSE], + ['id' => '2', 'weight' => 0, 'parent' => '1', 'indentation' => 1, 'changed' => FALSE], + ['id' => '3', 'weight' => 0, 'parent' => '1', 'indentation' => 1, 'changed' => FALSE], + ['id' => '4', 'weight' => 0, 'parent' => '', 'indentation' => 0, 'changed' => FALSE], + ['id' => '5', 'weight' => 0, 'parent' => '', 'indentation' => 0, 'changed' => FALSE], ]; $this->assertDraggableTable($expected_table); @@ -278,9 +278,9 @@ public function testRootLeafDraggableRowsWithKeyboard() { $this->moveRowWithKeyboard($this->findRowById(2), 'down'); $this->moveRowWithKeyboard($this->findRowById(2), 'left'); $expected_table[0]['weight'] = -10; - $expected_table[1]['id'] = 3; + $expected_table[1]['id'] = '3'; $expected_table[1]['weight'] = -10; - $expected_table[2] = ['id' => 2, 'weight' => -9, 'parent' => '', 'indentation' => 0, 'changed' => TRUE]; + $expected_table[2] = ['id' => '2', 'weight' => -9, 'parent' => '', 'indentation' => 0, 'changed' => TRUE]; $expected_table[3]['weight'] = -8; $expected_table[4]['weight'] = -7; $this->assertDraggableTable($expected_table); @@ -288,8 +288,8 @@ public function testRootLeafDraggableRowsWithKeyboard() { // Root rows can have children. $this->moveRowWithKeyboard($this->findRowById(4), 'down'); $this->moveRowWithKeyboard($this->findRowById(4), 'right'); - $expected_table[3]['id'] = 5; - $expected_table[4] = ['id' => 4, 'weight' => -10, 'parent' => 5, 'indentation' => 1, 'changed' => TRUE]; + $expected_table[3]['id'] = '5'; + $expected_table[4] = ['id' => '4', 'weight' => -10, 'parent' => '5', 'indentation' => 1, 'changed' => TRUE]; $this->assertDraggableTable($expected_table); } @@ -437,37 +437,37 @@ public function testNestedDraggableTables() { // Re-test the nested draggable table. $expected_child_table_structure = [ [ - 'id' => 5, + 'id' => '5', 'weight' => -10, 'parent' => '', 'indentation' => 0, 'changed' => FALSE, ], [ - 'id' => 3, + 'id' => '3', 'weight' => -10, - 'parent' => 5, + 'parent' => '5', 'indentation' => 1, 'changed' => TRUE, ], [ - 'id' => 1, + 'id' => '1', 'weight' => -9, 'parent' => '', 'indentation' => 0, 'changed' => TRUE, ], [ - 'id' => 2, + 'id' => '2', 'weight' => -10, - 'parent' => 1, + 'parent' => '1', 'indentation' => 1, 'changed' => TRUE, ], [ - 'id' => 4, + 'id' => '4', 'weight' => -10, - 'parent' => 2, + 'parent' => '2', 'indentation' => 2, 'changed' => TRUE, ], diff --git a/web/core/tests/Drupal/FunctionalTests/Installer/InstallerExistingInstallationTest.php b/web/core/tests/Drupal/FunctionalTests/Installer/InstallerExistingInstallationTest.php index 8906a2fa4da01dedc7ca5fb56adbebdddbceeeeb..8090b99bae89cb78454cee5cc2c9880766cd0560 100644 --- a/web/core/tests/Drupal/FunctionalTests/Installer/InstallerExistingInstallationTest.php +++ b/web/core/tests/Drupal/FunctionalTests/Installer/InstallerExistingInstallationTest.php @@ -22,6 +22,9 @@ public function testInstaller() { $this->visitInstaller(); $this->assertSession()->pageTextContains('Drupal already installed'); + // Verify that Drupal version is not displayed. + $this->assertSession()->pageTextNotContains(\Drupal::VERSION); + // Delete settings.php and attempt to reinstall again. unlink($this->siteDirectory . '/settings.php'); $this->visitInstaller(); diff --git a/web/core/tests/Drupal/KernelTests/Core/Config/ConfigImporterTest.php b/web/core/tests/Drupal/KernelTests/Core/Config/ConfigImporterTest.php index e7f13b762552961e0ecf07b8d79d02009f6ce504..2710f39d46946329e04f0270ace705beccbd260a 100644 --- a/web/core/tests/Drupal/KernelTests/Core/Config/ConfigImporterTest.php +++ b/web/core/tests/Drupal/KernelTests/Core/Config/ConfigImporterTest.php @@ -918,6 +918,16 @@ public function testConfigEvents(): void { $this->assertSame(['key' => 'bar'], $event['current_config_data']); $this->assertSame(['key' => 'bar'], $event['raw_config_data']); $this->assertSame(['key' => 'foo'], $event['original_config_data']); + + // Import the configuration that deletes 'config_events_test.test'. + $this->container->get('config.storage.sync')->delete('config_events_test.test'); + $this->configImporter()->import(); + $this->assertFalse($this->container->get('config.storage')->exists('config_events_test.test')); + $event = \Drupal::state()->get('config_events_test.event', []); + $this->assertSame(ConfigEvents::DELETE, $event['event_name']); + $this->assertSame([], $event['current_config_data']); + $this->assertSame([], $event['raw_config_data']); + $this->assertSame(['key' => 'bar'], $event['original_config_data']); } /** diff --git a/web/core/tests/Drupal/KernelTests/Core/Config/Storage/DatabaseStorageTest.php b/web/core/tests/Drupal/KernelTests/Core/Config/Storage/DatabaseStorageTest.php index 11e827bf73a4e68cbfe0d1dda47d59756dd7b537..5f6e787c41d0dca6a22dd33f1cde6174c74338b0 100644 --- a/web/core/tests/Drupal/KernelTests/Core/Config/Storage/DatabaseStorageTest.php +++ b/web/core/tests/Drupal/KernelTests/Core/Config/Storage/DatabaseStorageTest.php @@ -4,6 +4,7 @@ use Drupal\Core\Config\DatabaseStorage; use Drupal\Core\Database\Database; +use Drupal\Core\Database\DatabaseExceptionWrapper; /** * Tests DatabaseStorage operations. @@ -39,4 +40,87 @@ protected function delete($name) { Database::getConnection()->delete('config')->condition('name', $name)->execute(); } + /** + * Tests that operations throw exceptions if the query fails. + */ + public function testExceptionIsThrownIfQueryFails() { + $connection = Database::getConnection(); + if ($connection->databaseType() === 'sqlite') { + // See: https://www.drupal.org/project/drupal/issues/3349286 + $this->markTestSkipped('SQLite cannot allow detection of exceptions due to double quoting.'); + return; + } + + Database::getConnection()->schema()->dropTable('config'); + // In order to simulate database issue create a table with an incorrect + // specification. + $table_specification = [ + 'fields' => [ + 'id' => [ + 'type' => 'int', + 'default' => NULL, + ], + ], + ]; + Database::getConnection()->schema()->createTable('config', $table_specification); + + try { + $this->storage->exists('config.settings'); + $this->fail('Expected exception not thrown from exists()'); + } + catch (DatabaseExceptionWrapper $e) { + // Exception was expected + } + + try { + $this->storage->read('config.settings'); + $this->fail('Expected exception not thrown from read()'); + } + catch (DatabaseExceptionWrapper $e) { + // Exception was expected + } + + try { + $this->storage->readMultiple(['config.settings', 'config.settings2']); + $this->fail('Expected exception not thrown from readMultiple()'); + } + catch (DatabaseExceptionWrapper $e) { + // Exception was expected + } + + try { + $this->storage->write('config.settings', ['data' => '']); + $this->fail('Expected exception not thrown from deleteAll()'); + } + catch (DatabaseExceptionWrapper $e) { + // Exception was expected + } + + try { + $this->storage->listAll(); + $this->fail('Expected exception not thrown from listAll()'); + } + catch (DatabaseExceptionWrapper $e) { + // Exception was expected + } + + try { + $this->storage->deleteAll(); + $this->fail('Expected exception not thrown from deleteAll()'); + } + catch (DatabaseExceptionWrapper $e) { + // Exception was expected + } + + try { + $this->storage->getAllCollectionNames(); + $this->fail('Expected exception not thrown from getAllCollectionNames()'); + } + catch (DatabaseExceptionWrapper $e) { + // Exception was expected + } + + $this->assertTrue(TRUE); + } + } diff --git a/web/core/tests/Drupal/KernelTests/Core/EventSubscriber/ExceptionLoggingSubscriberTest.php b/web/core/tests/Drupal/KernelTests/Core/EventSubscriber/ExceptionLoggingSubscriberTest.php index b15ecff3f0fee6678689f2519ed90e357583bf57..9bd4d57950565f0c57624b3f5e2eef4315109c5d 100644 --- a/web/core/tests/Drupal/KernelTests/Core/EventSubscriber/ExceptionLoggingSubscriberTest.php +++ b/web/core/tests/Drupal/KernelTests/Core/EventSubscriber/ExceptionLoggingSubscriberTest.php @@ -3,6 +3,7 @@ namespace Drupal\KernelTests\Core\EventSubscriber; use Drupal\Core\DependencyInjection\ContainerBuilder; +use Drupal\Core\Logger\RfcLogLevel; use Drupal\KernelTests\KernelTestBase; use Symfony\Component\ErrorHandler\BufferingLogger; use Symfony\Component\HttpFoundation\Request; @@ -47,6 +48,18 @@ public function testExceptionLogging() { 503 => 'php', ]; + $level_map = [ + 400 => RfcLogLevel::WARNING, + 401 => RfcLogLevel::WARNING, + 403 => RfcLogLevel::WARNING, + 404 => RfcLogLevel::WARNING, + 405 => RfcLogLevel::WARNING, + 408 => RfcLogLevel::WARNING, + 501 => RfcLogLevel::ERROR, + 502 => RfcLogLevel::ERROR, + 503 => RfcLogLevel::ERROR, + ]; + // Ensure that noting is logged. $this->assertEmpty($this->container->get($this->testLogServiceName)->cleanLogs()); @@ -60,11 +73,12 @@ public function testExceptionLogging() { ini_set('error_log', $error_log); $expected_channels = array_values($channel_map); + $expected_levels = array_values($level_map); $logs = $this->container->get($this->testLogServiceName)->cleanLogs(); foreach ($expected_channels as $key => $expected_channel) { - $log_message = $logs[$key][2]['channel']; - $this->assertEquals($expected_channel, $log_message); + $this->assertEquals($expected_channel, $logs[$key][2]['channel']); + $this->assertEquals($expected_levels[$key], $logs[$key][0]); } } diff --git a/web/core/tests/Drupal/KernelTests/Core/Routing/RouteProviderTest.php b/web/core/tests/Drupal/KernelTests/Core/Routing/RouteProviderTest.php index cb30230de412447f61ac615661db6d3cd823fc67..3eb0d3e0ed66a7be07b4053b344ef05099cbfa81 100644 --- a/web/core/tests/Drupal/KernelTests/Core/Routing/RouteProviderTest.php +++ b/web/core/tests/Drupal/KernelTests/Core/Routing/RouteProviderTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\KernelTests\Core\Routing\RouteProviderTest. - */ - namespace Drupal\KernelTests\Core\Routing; use ColinODell\PsrTestLogger\TestLogger; diff --git a/web/core/tests/Drupal/KernelTests/Core/Theme/ThemeRenderAndAutoescapeTest.php b/web/core/tests/Drupal/KernelTests/Core/Theme/ThemeRenderAndAutoescapeTest.php index 5c47f174a78d63241ca7f58f181b4cb0b70ec818..d545e6b9f42351af2a6d6d4f69cc5b6c7079b6f6 100644 --- a/web/core/tests/Drupal/KernelTests/Core/Theme/ThemeRenderAndAutoescapeTest.php +++ b/web/core/tests/Drupal/KernelTests/Core/Theme/ThemeRenderAndAutoescapeTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\KernelTests\Core\Theme\ThemeRenderAndAutoescapeTest. - */ - namespace Drupal\KernelTests\Core\Theme; use Drupal\Component\Utility\Html; diff --git a/web/core/tests/Drupal/KernelTests/Core/Theme/TwigMarkupInterfaceTest.php b/web/core/tests/Drupal/KernelTests/Core/Theme/TwigMarkupInterfaceTest.php index fd0d4da97bfd273a2df8d3e22ee9ada9289eeeb7..7d3d40160796088fb5f9455563866eba4dbc3a8b 100644 --- a/web/core/tests/Drupal/KernelTests/Core/Theme/TwigMarkupInterfaceTest.php +++ b/web/core/tests/Drupal/KernelTests/Core/Theme/TwigMarkupInterfaceTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\KernelTests\Core\Theme\TwigMarkupInterfaceTest. - */ - namespace Drupal\KernelTests\Core\Theme; use Drupal\Component\Render\FormattableMarkup; diff --git a/web/core/tests/Drupal/Tests/BrowserHtmlDebugTrait.php b/web/core/tests/Drupal/Tests/BrowserHtmlDebugTrait.php index 9ef1913ab609dd9b814e18a3364c9a8cc1d31945..64c9566a6529ded71efc4c1556c2ec1335b3d1f5 100644 --- a/web/core/tests/Drupal/Tests/BrowserHtmlDebugTrait.php +++ b/web/core/tests/Drupal/Tests/BrowserHtmlDebugTrait.php @@ -137,7 +137,7 @@ protected function htmlOutput($message = NULL) { */ protected function initBrowserOutputFile() { $browser_output_file = getenv('BROWSERTEST_OUTPUT_FILE'); - $this->htmlOutputEnabled = is_file($browser_output_file); + $this->htmlOutputEnabled = is_string($browser_output_file) && is_file($browser_output_file); $this->htmlOutputBaseUrl = getenv('BROWSERTEST_OUTPUT_BASE_URL') ?: $GLOBALS['base_url']; if ($this->htmlOutputEnabled) { $this->htmlOutputFile = $browser_output_file; diff --git a/web/core/tests/Drupal/Tests/Component/Assertion/InspectorTest.php b/web/core/tests/Drupal/Tests/Component/Assertion/InspectorTest.php index b117bcf8bce673e306c00d386f4f3a5755125231..4f79f764634f926c0e63f34e71ed10df28695905 100644 --- a/web/core/tests/Drupal/Tests/Component/Assertion/InspectorTest.php +++ b/web/core/tests/Drupal/Tests/Component/Assertion/InspectorTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\Component\Assertion\InspectorTest. - */ - namespace Drupal\Tests\Component\Assertion; use PHPUnit\Framework\TestCase; diff --git a/web/core/tests/Drupal/Tests/Component/Datetime/DateTimePlusTest.php b/web/core/tests/Drupal/Tests/Component/Datetime/DateTimePlusTest.php index 9cec9bd721d5c41e1454c0910917fe51e7b5612e..04a925d9d72f32e59795d546d53f91b68f8f5354 100644 --- a/web/core/tests/Drupal/Tests/Component/Datetime/DateTimePlusTest.php +++ b/web/core/tests/Drupal/Tests/Component/Datetime/DateTimePlusTest.php @@ -186,7 +186,7 @@ public function testDateTimestamp($input, array $initial, array $transform) { * * @param \Drupal\Component\Datetime\DateTimePlus $date * DateTimePlus to test. - * @param string $input + * @param string|int $input * The original input passed to the test method. * @param array $initial * @see testTimestamp() @@ -195,7 +195,7 @@ public function testDateTimestamp($input, array $initial, array $transform) { * * @internal */ - public function assertDateTimestamp(DateTimePlus $date, string $input, array $initial, array $transform): void { + public function assertDateTimestamp(DateTimePlus $date, string|int $input, array $initial, array $transform): void { // Check format. $value = $date->format($initial['format']); $this->assertEquals($initial['expected_date'], $value, sprintf("Test new DateTimePlus(%s, %s): should be %s, found %s.", $input, $initial['timezone'], $initial['expected_date'], $value)); @@ -694,7 +694,7 @@ public function providerTestDateDiff() { ], [ 'input1' => DateTimePlus::createFromFormat('U', 3600), - 'input2' => \DateTime::createFromFormat('U', 0), + 'input2' => \DateTime::createFromFormat('U', '0'), 'absolute' => FALSE, 'expected' => $negative_1_hour, ], @@ -706,7 +706,7 @@ public function providerTestDateDiff() { ], [ 'input1' => DateTimePlus::createFromFormat('U', 3600), - 'input2' => \DateTime::createFromFormat('U', 0), + 'input2' => \DateTime::createFromFormat('U', '0'), 'absolute' => TRUE, 'expected' => $positive_1_hour, ], diff --git a/web/core/tests/Drupal/Tests/Component/DependencyInjection/ContainerTest.php b/web/core/tests/Drupal/Tests/Component/DependencyInjection/ContainerTest.php index 8150946071bb4f15fe01904e200de5f4c6e19c26..23cc8a5572cd5b6676bdf76b00beb9f5ae3ea200 100644 --- a/web/core/tests/Drupal/Tests/Component/DependencyInjection/ContainerTest.php +++ b/web/core/tests/Drupal/Tests/Component/DependencyInjection/ContainerTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\Component\DependencyInjection\ContainerTest. - */ - namespace Drupal\Tests\Component\DependencyInjection; use Drupal\Component\Utility\Crypt; diff --git a/web/core/tests/Drupal/Tests/Component/DependencyInjection/Dumper/OptimizedPhpArrayDumperTest.php b/web/core/tests/Drupal/Tests/Component/DependencyInjection/Dumper/OptimizedPhpArrayDumperTest.php index 5cd26aa6fff1cfeddf28cd34356fc7488581ba9f..9b06e06a8052029710c98e423264db6ae3e54b7d 100644 --- a/web/core/tests/Drupal/Tests/Component/DependencyInjection/Dumper/OptimizedPhpArrayDumperTest.php +++ b/web/core/tests/Drupal/Tests/Component/DependencyInjection/Dumper/OptimizedPhpArrayDumperTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\Component\DependencyInjection\Dumper\OptimizedPhpArrayDumperTest. - */ - namespace Drupal\Tests\Component\DependencyInjection\Dumper { use Drupal\Component\Utility\Crypt; @@ -527,7 +522,7 @@ public function publicPrivateDataProvider() { public function testGetServiceDefinitionForDecoratedService() { $bar_definition = new Definition('\stdClass'); $bar_definition->setPublic(TRUE); - $bar_definition->setDecoratedService(new Reference('foo')); + $bar_definition->setDecoratedService((string) new Reference('foo')); $services['bar'] = $bar_definition; $this->containerBuilder->getDefinitions()->willReturn($services); diff --git a/web/core/tests/Drupal/Tests/Component/HttpFoundation/SecuredRedirectResponseTest.php b/web/core/tests/Drupal/Tests/Component/HttpFoundation/SecuredRedirectResponseTest.php index a22655c1f986f8b8d5d829a9defede2203945d8e..3cc97464f751dcbe658903dcf2d717c5c37d873e 100644 --- a/web/core/tests/Drupal/Tests/Component/HttpFoundation/SecuredRedirectResponseTest.php +++ b/web/core/tests/Drupal/Tests/Component/HttpFoundation/SecuredRedirectResponseTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\Component\HttpFoundation\SecuredRedirectResponseTest. - */ - namespace Drupal\Tests\Component\HttpFoundation; use Drupal\Component\HttpFoundation\SecuredRedirectResponse; diff --git a/web/core/tests/Drupal/Tests/Component/Plugin/Factory/ReflectionFactoryTest.php b/web/core/tests/Drupal/Tests/Component/Plugin/Factory/ReflectionFactoryTest.php index 0f59ca828d9339701334d2adda692a9e7af10f97..7e19100a81f641494b4e9519d87390a7cddc30b7 100644 --- a/web/core/tests/Drupal/Tests/Component/Plugin/Factory/ReflectionFactoryTest.php +++ b/web/core/tests/Drupal/Tests/Component/Plugin/Factory/ReflectionFactoryTest.php @@ -1,12 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\Component\Plugin\Factory\ReflectionFactoryTest. - * - * Also contains Argument* classes used as data for testing. - */ - namespace Drupal\Tests\Component\Plugin\Factory; use Drupal\Component\Plugin\Factory\ReflectionFactory; diff --git a/web/core/tests/Drupal/Tests/Component/ProxyBuilder/ProxyBuilderTest.php b/web/core/tests/Drupal/Tests/Component/ProxyBuilder/ProxyBuilderTest.php index 92c627a8ada02b2d28f3a06d7a8eb27a5faa13b5..f539886c7c2fe3303fd17d3eebd0c28590db84e6 100644 --- a/web/core/tests/Drupal/Tests/Component/ProxyBuilder/ProxyBuilderTest.php +++ b/web/core/tests/Drupal/Tests/Component/ProxyBuilder/ProxyBuilderTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\Component\ProxyBuilder\ProxyBuilderTest. - */ - namespace Drupal\Tests\Component\ProxyBuilder; use Drupal\Component\ProxyBuilder\ProxyBuilder; diff --git a/web/core/tests/Drupal/Tests/Component/Utility/ArgumentsResolverTest.php b/web/core/tests/Drupal/Tests/Component/Utility/ArgumentsResolverTest.php index 11cc7b36fa300b5c7f2135a1488dbf5be9020faa..3400801bc7042ace921b5fead1a899b35b9d4029 100644 --- a/web/core/tests/Drupal/Tests/Component/Utility/ArgumentsResolverTest.php +++ b/web/core/tests/Drupal/Tests/Component/Utility/ArgumentsResolverTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\Component\Utility\ArgumentsResolverTest. - */ - namespace Drupal\Tests\Component\Utility; use Drupal\Component\Utility\ArgumentsResolver; diff --git a/web/core/tests/Drupal/Tests/Component/Utility/HtmlTest.php b/web/core/tests/Drupal/Tests/Component/Utility/HtmlTest.php index 3bc7f352548638d3e8c714d39b76170fd16a866a..8f74eae06185ebe4d3418495c4b854002fd69d5d 100644 --- a/web/core/tests/Drupal/Tests/Component/Utility/HtmlTest.php +++ b/web/core/tests/Drupal/Tests/Component/Utility/HtmlTest.php @@ -379,6 +379,7 @@ public function providerTestTransformRootRelativeUrlsToAbsolute() { "$tag_name, srcset, $base_path: root-relative" => ["<$tag_name srcset=\"http://example.com{$base_path}already-absolute 200w, {$base_path}root-relative 300w\">root-relative test</$tag_name>", 'http://example.com', "<$tag_name srcset=\"http://example.com{$base_path}already-absolute 200w, http://example.com{$base_path}root-relative 300w\">root-relative test</$tag_name>"], "$tag_name, srcset, $base_path: protocol-relative" => ["<$tag_name srcset=\"http://example.com{$base_path}already-absolute 200w, //example.com{$base_path}protocol-relative 300w\">protocol-relative test</$tag_name>", 'http://example.com', FALSE], "$tag_name, srcset, $base_path: absolute" => ["<$tag_name srcset=\"http://example.com{$base_path}already-absolute 200w, http://example.com{$base_path}absolute 300w\">absolute test</$tag_name>", 'http://example.com', FALSE], + "$tag_name, empty srcset" => ["<$tag_name srcset=\"\">empty test</$tag_name>", 'http://example.com', FALSE], ]; foreach (['href', 'poster', 'src', 'cite', 'data', 'action', 'formaction', 'about'] as $attribute) { diff --git a/web/core/tests/Drupal/Tests/Component/Utility/VariableTest.php b/web/core/tests/Drupal/Tests/Component/Utility/VariableTest.php index 01d17fc4bab6dedacb838f3c5ad253d24a4f0a83..0c291029f6f605f9f5bcf3286cbded6457bbe9ca 100644 --- a/web/core/tests/Drupal/Tests/Component/Utility/VariableTest.php +++ b/web/core/tests/Drupal/Tests/Component/Utility/VariableTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\Component\Utility\VariableTest. - */ - namespace Drupal\Tests\Component\Utility; use Drupal\Component\Utility\Variable; diff --git a/web/core/tests/Drupal/Tests/Core/Access/AccessManagerTest.php b/web/core/tests/Drupal/Tests/Core/Access/AccessManagerTest.php index 8a3a71da0b9b66c101f97f2377640f0d8826bae5..568a2b0820f7988ac917e0f5cb30a01e2d781376 100644 --- a/web/core/tests/Drupal/Tests/Core/Access/AccessManagerTest.php +++ b/web/core/tests/Drupal/Tests/Core/Access/AccessManagerTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\Core\Access\AccessManagerTest. - */ - namespace Drupal\Tests\Core\Access; use Drupal\Core\Access\AccessCheckInterface; diff --git a/web/core/tests/Drupal/Tests/Core/Access/AccessResultTest.php b/web/core/tests/Drupal/Tests/Core/Access/AccessResultTest.php index 24ca0617f9c66ed7c7aaf331304c62775e2cc6cf..2234dde14c2935f656ed8d3f6f5ef3685c74ce19 100644 --- a/web/core/tests/Drupal/Tests/Core/Access/AccessResultTest.php +++ b/web/core/tests/Drupal/Tests/Core/Access/AccessResultTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\Core\Access\AccessResultTest. - */ - namespace Drupal\Tests\Core\Access; use Drupal\Core\Access\AccessResult; diff --git a/web/core/tests/Drupal/Tests/Core/Access/CustomAccessCheckTest.php b/web/core/tests/Drupal/Tests/Core/Access/CustomAccessCheckTest.php index 1218df686cc635b3546899ebc654c0d0223246a9..efa15f824e2417dc0cff71ff27103c24f0034f84 100644 --- a/web/core/tests/Drupal/Tests/Core/Access/CustomAccessCheckTest.php +++ b/web/core/tests/Drupal/Tests/Core/Access/CustomAccessCheckTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\Core\Access\CustomAccessCheckTest. - */ - namespace Drupal\Tests\Core\Access; use Drupal\Core\Access\AccessResult; diff --git a/web/core/tests/Drupal/Tests/Core/Asset/AssetResolverTest.php b/web/core/tests/Drupal/Tests/Core/Asset/AssetResolverTest.php index 76ee6d23f870e43654ac2025b117236cafd61704..258716826308f0178d1ba30e5db41ccce55713d5 100644 --- a/web/core/tests/Drupal/Tests/Core/Asset/AssetResolverTest.php +++ b/web/core/tests/Drupal/Tests/Core/Asset/AssetResolverTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\Core\Asset\AssetResolverTest. - */ - namespace Drupal\Tests\Core\Asset; use Drupal\Core\Asset\AssetResolver; diff --git a/web/core/tests/Drupal/Tests/Core/Asset/LibraryDependencyResolverTest.php b/web/core/tests/Drupal/Tests/Core/Asset/LibraryDependencyResolverTest.php index 24f21b35b391a43d069ee7a0eee412e15b1cd0bd..a8425ac20783d4efa8ca18e60ebc9be4f8206030 100644 --- a/web/core/tests/Drupal/Tests/Core/Asset/LibraryDependencyResolverTest.php +++ b/web/core/tests/Drupal/Tests/Core/Asset/LibraryDependencyResolverTest.php @@ -41,9 +41,11 @@ class LibraryDependencyResolverTest extends UnitTestCase { 'no_deps_a' => ['js' => [], 'css' => []], 'no_deps_b' => ['js' => [], 'css' => []], 'no_deps_c' => ['js' => [], 'css' => []], + 'no_deps_d' => ['js' => [], 'css' => []], 'deps_a' => ['js' => [], 'css' => [], 'dependencies' => ['test/no_deps_a']], 'deps_b' => ['js' => [], 'css' => [], 'dependencies' => ['test/no_deps_a', 'test/no_deps_b']], 'deps_c' => ['js' => [], 'css' => [], 'dependencies' => ['test/no_deps_b', 'test/no_deps_a']], + 'deps_d' => ['js' => [], 'css' => [], 'dependencies' => ['test/no_deps_d']], 'nested_deps_a' => ['js' => [], 'css' => [], 'dependencies' => ['test/deps_a']], 'nested_deps_b' => ['js' => [], 'css' => [], 'dependencies' => ['test/nested_deps_a']], 'nested_deps_c' => ['js' => [], 'css' => [], 'dependencies' => ['test/nested_deps_b']], @@ -139,6 +141,8 @@ public function providerTestGetMinimalRepresentativeSubset() { [['test/deps_b', 'test/deps_a'], ['test/deps_b', 'test/deps_a']], [['test/deps_b', 'test/deps_c'], ['test/deps_b', 'test/deps_c']], [['test/deps_c', 'test/deps_b'], ['test/deps_c', 'test/deps_b']], + [['test/deps_a', 'test/deps_d', 'test/no_deps_a'], ['test/deps_a', 'test/deps_d']], + [['test/deps_a', 'test/deps_d', 'test/no_deps_d'], ['test/deps_a', 'test/deps_d']], // Multi-level (indirect) dependencies. [['test/nested_deps_a'], ['test/nested_deps_a']], [['test/nested_deps_b'], ['test/nested_deps_b']], diff --git a/web/core/tests/Drupal/Tests/Core/Asset/LibraryDiscoveryParserTest.php b/web/core/tests/Drupal/Tests/Core/Asset/LibraryDiscoveryParserTest.php index e21bf5f47295c136e67e929f18bdfacc3e003e6f..a05a5a0e4cffb54d44b4ae51f57ca43407cd1b84 100644 --- a/web/core/tests/Drupal/Tests/Core/Asset/LibraryDiscoveryParserTest.php +++ b/web/core/tests/Drupal/Tests/Core/Asset/LibraryDiscoveryParserTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\Core\Asset\LibraryDiscoveryParserTest. - */ - namespace Drupal\Tests\Core\Asset; use Drupal\Core\Asset\Exception\IncompleteLibraryDefinitionException; diff --git a/web/core/tests/Drupal/Tests/Core/Authentication/AuthenticationCollectorTest.php b/web/core/tests/Drupal/Tests/Core/Authentication/AuthenticationCollectorTest.php index e3763c88a965d7291c34d3559e17e340378658ca..00cec2a6209fec39803137f2b471a6dac790d58c 100644 --- a/web/core/tests/Drupal/Tests/Core/Authentication/AuthenticationCollectorTest.php +++ b/web/core/tests/Drupal/Tests/Core/Authentication/AuthenticationCollectorTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\Core\Authentication\AuthenticationCollectorTest. - */ - namespace Drupal\Tests\Core\Authentication; use Drupal\Core\Authentication\AuthenticationCollector; diff --git a/web/core/tests/Drupal/Tests/Core/Authentication/AuthenticationManagerTest.php b/web/core/tests/Drupal/Tests/Core/Authentication/AuthenticationManagerTest.php index 6e0ac7c924a317673fdbd0458319f4b7cbd280c7..f1964a2d2a5fac29943ec354ed8186323499c64c 100644 --- a/web/core/tests/Drupal/Tests/Core/Authentication/AuthenticationManagerTest.php +++ b/web/core/tests/Drupal/Tests/Core/Authentication/AuthenticationManagerTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\Core\Authentication\AuthenticationManagerTest. - */ - namespace Drupal\Tests\Core\Authentication; use Drupal\Core\Authentication\AuthenticationCollector; diff --git a/web/core/tests/Drupal/Tests/Core/Cache/Context/CacheContextsManagerTest.php b/web/core/tests/Drupal/Tests/Core/Cache/Context/CacheContextsManagerTest.php index 2066b5ef3fe411e151619687c5c66fd8aaa76441..36b23bf6fc903a5e10e015a68312cc990527b54d 100644 --- a/web/core/tests/Drupal/Tests/Core/Cache/Context/CacheContextsManagerTest.php +++ b/web/core/tests/Drupal/Tests/Core/Cache/Context/CacheContextsManagerTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\Core\Cache\Context\CacheContextsManagerTest. - */ - namespace Drupal\Tests\Core\Cache\Context; use Drupal\Core\Cache\CacheableMetadata; diff --git a/web/core/tests/Drupal/Tests/Core/Condition/ConditionAccessResolverTraitTest.php b/web/core/tests/Drupal/Tests/Core/Condition/ConditionAccessResolverTraitTest.php index 053d30fa6f02a44594e4cbc0729afd325a864c59..82e1c6d551ec4edd8d2d5d2becef166d220543ab 100644 --- a/web/core/tests/Drupal/Tests/Core/Condition/ConditionAccessResolverTraitTest.php +++ b/web/core/tests/Drupal/Tests/Core/Condition/ConditionAccessResolverTraitTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\Core\Condition\ConditionAccessResolverTraitTest. - */ - namespace Drupal\Tests\Core\Condition; use Drupal\Component\Plugin\Exception\ContextException; diff --git a/web/core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityBaseUnitTest.php b/web/core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityBaseUnitTest.php index 70e7c059c723804b606e25b31ea65c0029dd5bfe..2a50bd6882f1486e97e73100dbe423f68af8a133 100644 --- a/web/core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityBaseUnitTest.php +++ b/web/core/tests/Drupal/Tests/Core/Config/Entity/ConfigEntityBaseUnitTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\Core\Config\Entity\ConfigEntityBaseUnitTest. - */ - namespace Drupal\Tests\Core\Config\Entity; use Drupal\Component\Plugin\PluginManagerInterface; diff --git a/web/core/tests/Drupal/Tests/Core/Controller/ControllerResolverTest.php b/web/core/tests/Drupal/Tests/Core/Controller/ControllerResolverTest.php index 862d4aa891736c58ea507bba445321b8d5257b1d..050d436b84a8fe481976f6415724009808a36bcc 100644 --- a/web/core/tests/Drupal/Tests/Core/Controller/ControllerResolverTest.php +++ b/web/core/tests/Drupal/Tests/Core/Controller/ControllerResolverTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\Core\Controller\ControllerResolverTest. - */ - namespace Drupal\Tests\Core\Controller; use Drupal\Core\Controller\ControllerResolver; diff --git a/web/core/tests/Drupal/Tests/Core/Controller/TitleResolverTest.php b/web/core/tests/Drupal/Tests/Core/Controller/TitleResolverTest.php index 58ea6315a442469036fba86194dfd8588438b552..2716e4e45ea3c61d11c869eb538c647293448d36 100644 --- a/web/core/tests/Drupal/Tests/Core/Controller/TitleResolverTest.php +++ b/web/core/tests/Drupal/Tests/Core/Controller/TitleResolverTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\Core\Controller\TitleResolverTest. - */ - namespace Drupal\Tests\Core\Controller; use Drupal\Core\Controller\TitleResolver; diff --git a/web/core/tests/Drupal/Tests/Core/Datetime/DrupalDateTimeTest.php b/web/core/tests/Drupal/Tests/Core/Datetime/DrupalDateTimeTest.php index 070aa13b1b0b644615eff6ece4f4e34cbfe625d5..d9d70051a81736979b7a0f438518add8472c5a90 100644 --- a/web/core/tests/Drupal/Tests/Core/Datetime/DrupalDateTimeTest.php +++ b/web/core/tests/Drupal/Tests/Core/Datetime/DrupalDateTimeTest.php @@ -109,7 +109,7 @@ public function providerTestDateDiff() { ], [ 'input1' => DrupalDateTime::createFromFormat('U', 3600, $utc_tz, $settings), - 'input2' => \DateTime::createFromFormat('U', 0), + 'input2' => \DateTime::createFromFormat('U', '0'), 'absolute' => FALSE, 'expected' => $negative_1_hour, ], @@ -121,7 +121,7 @@ public function providerTestDateDiff() { ], [ 'input1' => DrupalDateTime::createFromFormat('U', 3600, $utc_tz, $settings), - 'input2' => \DateTime::createFromFormat('U', 0), + 'input2' => \DateTime::createFromFormat('U', '0'), 'absolute' => TRUE, 'expected' => $positive_1_hour, ], diff --git a/web/core/tests/Drupal/Tests/Core/DependencyInjection/Compiler/BackendCompilerPassTest.php b/web/core/tests/Drupal/Tests/Core/DependencyInjection/Compiler/BackendCompilerPassTest.php index 0f584772b44939b4a95b01489129917808cecdd9..bd99c0dd1a29cf2ec6bf57196f920defc1cc1939 100644 --- a/web/core/tests/Drupal/Tests/Core/DependencyInjection/Compiler/BackendCompilerPassTest.php +++ b/web/core/tests/Drupal/Tests/Core/DependencyInjection/Compiler/BackendCompilerPassTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\Core\DependencyInjection\Compiler\BackendCompilerPassTest. - */ - namespace Drupal\Tests\Core\DependencyInjection\Compiler; use Drupal\Core\DependencyInjection\Compiler\BackendCompilerPass; diff --git a/web/core/tests/Drupal/Tests/Core/DependencyInjection/Compiler/TaggedHandlersPassTest.php b/web/core/tests/Drupal/Tests/Core/DependencyInjection/Compiler/TaggedHandlersPassTest.php index 85d20ed284df1b573250926986c5fd3edae03ff7..9ec78bf39eebc18d7c281cf2b7ba7c21b55d12e4 100644 --- a/web/core/tests/Drupal/Tests/Core/DependencyInjection/Compiler/TaggedHandlersPassTest.php +++ b/web/core/tests/Drupal/Tests/Core/DependencyInjection/Compiler/TaggedHandlersPassTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\Core\DependencyInjection\Compiler\TaggedHandlersPassTest. - */ - namespace Drupal\Tests\Core\DependencyInjection\Compiler; use Drupal\Core\DependencyInjection\Compiler\TaggedHandlersPass; diff --git a/web/core/tests/Drupal/Tests/Core/DependencyInjection/DependencySerializationTest.php b/web/core/tests/Drupal/Tests/Core/DependencyInjection/DependencySerializationTest.php index 0da0cdc548a482469d905f1b6935ae903265069b..bfba22cddc083486c035702bdf5eeebcd995cdae 100644 --- a/web/core/tests/Drupal/Tests/Core/DependencyInjection/DependencySerializationTest.php +++ b/web/core/tests/Drupal/Tests/Core/DependencyInjection/DependencySerializationTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\Core\DependencyInjection\DependencySerializationTest. - */ - namespace Drupal\Tests\Core\DependencyInjection; use Drupal\Component\DependencyInjection\ReverseContainer; diff --git a/web/core/tests/Drupal/Tests/Core/DependencyInjection/YamlFileLoaderTest.php b/web/core/tests/Drupal/Tests/Core/DependencyInjection/YamlFileLoaderTest.php index 54d996bd07b6813143d65fb5da4d832b93e17180..632edb6d989149b5c9c4deeddf55ba997ecdbf88 100644 --- a/web/core/tests/Drupal/Tests/Core/DependencyInjection/YamlFileLoaderTest.php +++ b/web/core/tests/Drupal/Tests/Core/DependencyInjection/YamlFileLoaderTest.php @@ -171,10 +171,16 @@ public function providerTestExceptions() { ], 'YAML must be valid' => [<<<YAML do not: - do this for the love of Foo Bar! + do: this: for the love of Foo Bar! YAML, 'The file "vfs://drupal/modules/example/example.yml" does not contain valid YAML', ], + 'YAML must have expected keys' => [<<<YAML + "do not": + do: this + YAML, + 'The service file "vfs://drupal/modules/example/example.yml" is not valid: it contains invalid root key(s) "do not". Services have to be added under "services" and Parameters under "parameters".', + ], ]; } diff --git a/web/core/tests/Drupal/Tests/Core/Entity/EntityFieldManagerTest.php b/web/core/tests/Drupal/Tests/Core/Entity/EntityFieldManagerTest.php index 16c4f001380dfa726d7c47c40ecfa7095604ef84..d7e87ff4d78798da5743228e9ec4603f983c9bf2 100644 --- a/web/core/tests/Drupal/Tests/Core/Entity/EntityFieldManagerTest.php +++ b/web/core/tests/Drupal/Tests/Core/Entity/EntityFieldManagerTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\Core\Entity\EntityFieldManagerTest. - */ - namespace Drupal\Tests\Core\Entity; use Drupal\Component\Plugin\Exception\PluginNotFoundException; diff --git a/web/core/tests/Drupal/Tests/Core/Entity/EntityListBuilderTest.php b/web/core/tests/Drupal/Tests/Core/Entity/EntityListBuilderTest.php index 08d8540889cc4c5ebd9687c549a4a397f1d740c0..d2a2b46716de5e4b96c9253ccd96fb8e7d184a64 100644 --- a/web/core/tests/Drupal/Tests/Core/Entity/EntityListBuilderTest.php +++ b/web/core/tests/Drupal/Tests/Core/Entity/EntityListBuilderTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\Core\Entity\EntityListBuilderTest. - */ - namespace Drupal\Tests\Core\Entity; use Drupal\Core\Access\AccessResult; diff --git a/web/core/tests/Drupal/Tests/Core/Entity/EntityResolverManagerTest.php b/web/core/tests/Drupal/Tests/Core/Entity/EntityResolverManagerTest.php index 4b218638c1420c76583457ffcd68bb69694959cf..5ef74c2e15008a08442254bc3e41adafa5f511e9 100644 --- a/web/core/tests/Drupal/Tests/Core/Entity/EntityResolverManagerTest.php +++ b/web/core/tests/Drupal/Tests/Core/Entity/EntityResolverManagerTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\Core\Entity\EntityResolverManagerTest. - */ - namespace Drupal\Tests\Core\Entity; use Drupal\Core\Entity\EntityBase; diff --git a/web/core/tests/Drupal/Tests/Core/Entity/EntityTypeManagerTest.php b/web/core/tests/Drupal/Tests/Core/Entity/EntityTypeManagerTest.php index f6a34fc4bdb2dc13edd7513ead02240642226e05..246b925d75777903e622935e926e84bfeecf30ac 100644 --- a/web/core/tests/Drupal/Tests/Core/Entity/EntityTypeManagerTest.php +++ b/web/core/tests/Drupal/Tests/Core/Entity/EntityTypeManagerTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\Core\Entity\EntityTypeManagerTest. - */ - namespace Drupal\Tests\Core\Entity; use Drupal\Component\Plugin\Discovery\DiscoveryInterface; diff --git a/web/core/tests/Drupal/Tests/Core/Entity/Routing/DefaultHtmlRouteProviderTest.php b/web/core/tests/Drupal/Tests/Core/Entity/Routing/DefaultHtmlRouteProviderTest.php index 9c8e310cef9e5d0ab988b7bf21db29c79f8767e8..4a81828189b9f5dd9563339947e692a948d126a1 100644 --- a/web/core/tests/Drupal/Tests/Core/Entity/Routing/DefaultHtmlRouteProviderTest.php +++ b/web/core/tests/Drupal/Tests/Core/Entity/Routing/DefaultHtmlRouteProviderTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\Core\Entity\Routing\DefaultHtmlRouteProviderTest. - */ - namespace Drupal\Tests\Core\Entity\Routing; use Drupal\Core\Config\Entity\ConfigEntityTypeInterface; diff --git a/web/core/tests/Drupal/Tests/Core/Entity/Sql/SqlContentEntityStorageTest.php b/web/core/tests/Drupal/Tests/Core/Entity/Sql/SqlContentEntityStorageTest.php index 64a278faa2b0117cba680b96f16f4d3f42a9c39a..d9aab845abb23920163bd047cec44c9050e7417b 100644 --- a/web/core/tests/Drupal/Tests/Core/Entity/Sql/SqlContentEntityStorageTest.php +++ b/web/core/tests/Drupal/Tests/Core/Entity/Sql/SqlContentEntityStorageTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\Core\Entity\Sql\SqlContentEntityStorageTest. - */ - namespace Drupal\Tests\Core\Entity\Sql; use Drupal\Core\Cache\MemoryCache\MemoryCache; diff --git a/web/core/tests/Drupal/Tests/Core/Extension/ThemeHandlerTest.php b/web/core/tests/Drupal/Tests/Core/Extension/ThemeHandlerTest.php index 4435380e6fc12c446d3a2172c1723b055db1d1e6..2e0012c7a9e0f35cfb5fea1ff0fb86c4e20cec6d 100644 --- a/web/core/tests/Drupal/Tests/Core/Extension/ThemeHandlerTest.php +++ b/web/core/tests/Drupal/Tests/Core/Extension/ThemeHandlerTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\Core\Extension\ThemeHandlerTest. - */ - namespace Drupal\Tests\Core\Extension; use Composer\Autoload\ClassLoader; diff --git a/web/core/tests/Drupal/Tests/Core/Field/PluginSettingsBaseTest.php b/web/core/tests/Drupal/Tests/Core/Field/PluginSettingsBaseTest.php index 1312d861d16f591b70a21fa371d14253dac4f5d5..25327ce3cdd70462b0ef2e64e513583df18d0042 100644 --- a/web/core/tests/Drupal/Tests/Core/Field/PluginSettingsBaseTest.php +++ b/web/core/tests/Drupal/Tests/Core/Field/PluginSettingsBaseTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\Core\Field\PluginSettingsBaseTest. - */ - namespace Drupal\Tests\Core\Field; use Drupal\Core\Field\PluginSettingsBase; diff --git a/web/core/tests/Drupal/Tests/Core/Form/EventSubscriber/FormAjaxSubscriberTest.php b/web/core/tests/Drupal/Tests/Core/Form/EventSubscriber/FormAjaxSubscriberTest.php index d1495335f354af47edcb540ba561475d68ca5fbd..a1b9b3f51937545820ac23f1987619077cc2b11b 100644 --- a/web/core/tests/Drupal/Tests/Core/Form/EventSubscriber/FormAjaxSubscriberTest.php +++ b/web/core/tests/Drupal/Tests/Core/Form/EventSubscriber/FormAjaxSubscriberTest.php @@ -195,7 +195,7 @@ public function testOnExceptionBrokenPostRequest() { $container->set('renderer', $renderer); \Drupal::setContainer($container); - $exception = new BrokenPostRequestException(32 * 1e6); + $exception = new BrokenPostRequestException((int) (32 * 1e6)); $request = new Request([FormBuilderInterface::AJAX_FORM_REQUEST => TRUE]); $event = new ExceptionEvent($this->httpKernel, $request, HttpKernelInterface::MAIN_REQUEST, $exception); diff --git a/web/core/tests/Drupal/Tests/Core/Form/FormBuilderTest.php b/web/core/tests/Drupal/Tests/Core/Form/FormBuilderTest.php index fa6c899e38fed202ed7319d1b39ce3468056e94a..a89ee1179a4bbd9ce4d94e57eb1cf4f5a982b6ed 100644 --- a/web/core/tests/Drupal/Tests/Core/Form/FormBuilderTest.php +++ b/web/core/tests/Drupal/Tests/Core/Form/FormBuilderTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\Core\Form\FormBuilderTest. - */ - namespace Drupal\Tests\Core\Form; use Drupal\Component\Utility\Html; diff --git a/web/core/tests/Drupal/Tests/Core/Form/FormStateTest.php b/web/core/tests/Drupal/Tests/Core/Form/FormStateTest.php index e553d887cd95a11760aa3d7d04ab96caf38cc333..fbef87046e7fb18a2bc247884dc3876300e77b55 100644 --- a/web/core/tests/Drupal/Tests/Core/Form/FormStateTest.php +++ b/web/core/tests/Drupal/Tests/Core/Form/FormStateTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\Core\Form\FormStateTest. - */ - namespace Drupal\Tests\Core\Form; use Drupal\Core\Form\FormInterface; @@ -373,10 +368,10 @@ public function testTemporaryValue() { $this->assertFalse($form_state->hasTemporaryValue('rainbow_sparkles')); $form_state->setTemporaryValue('rainbow_sparkles', 'yes please'); $this->assertSame($form_state->getTemporaryValue('rainbow_sparkles'), 'yes please'); - $this->assertTrue($form_state->hasTemporaryValue('rainbow_sparkles'), TRUE); + $this->assertTrue($form_state->hasTemporaryValue('rainbow_sparkles')); $form_state->setTemporaryValue(['rainbow_sparkles', 'magic_ponies'], 'yes please'); $this->assertSame($form_state->getTemporaryValue(['rainbow_sparkles', 'magic_ponies']), 'yes please'); - $this->assertTrue($form_state->hasTemporaryValue(['rainbow_sparkles', 'magic_ponies']), TRUE); + $this->assertTrue($form_state->hasTemporaryValue(['rainbow_sparkles', 'magic_ponies'])); } /** diff --git a/web/core/tests/Drupal/Tests/Core/Logger/LoggerChannelTest.php b/web/core/tests/Drupal/Tests/Core/Logger/LoggerChannelTest.php index fb4eb47acc0678fedfb3abf5fd335249b6b1f005..fa82a208b96a50b7f4f8491f1b4e2b30588c93d2 100644 --- a/web/core/tests/Drupal/Tests/Core/Logger/LoggerChannelTest.php +++ b/web/core/tests/Drupal/Tests/Core/Logger/LoggerChannelTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\Core\Logger\LoggerChannelTest. - */ - namespace Drupal\Tests\Core\Logger; use Drupal\Core\Logger\LoggerChannel; diff --git a/web/core/tests/Drupal/Tests/Core/Mail/MailManagerTest.php b/web/core/tests/Drupal/Tests/Core/Mail/MailManagerTest.php index b87260d5673a599395108c0928a9fc2c08b55bbc..e358a76fafaa9a3c46617d134731b39dbcf0c376 100644 --- a/web/core/tests/Drupal/Tests/Core/Mail/MailManagerTest.php +++ b/web/core/tests/Drupal/Tests/Core/Mail/MailManagerTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\Core\Mail\MailManagerTest. - */ - namespace Drupal\Tests\Core\Mail; use Drupal\Core\DependencyInjection\ContainerBuilder; diff --git a/web/core/tests/Drupal/Tests/Core/Menu/LocalActionManagerTest.php b/web/core/tests/Drupal/Tests/Core/Menu/LocalActionManagerTest.php index 11c845484b94aa55600b59e51a3e2c914bbad230..24110f57eb773b47f8ed92d3e4ab13cf2cfe8a5d 100644 --- a/web/core/tests/Drupal/Tests/Core/Menu/LocalActionManagerTest.php +++ b/web/core/tests/Drupal/Tests/Core/Menu/LocalActionManagerTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\Core\Menu\LocalActionManagerTest. - */ - namespace Drupal\Tests\Core\Menu; use Drupal\Component\Plugin\Discovery\DiscoveryInterface; diff --git a/web/core/tests/Drupal/Tests/Core/Menu/LocalTaskDefaultTest.php b/web/core/tests/Drupal/Tests/Core/Menu/LocalTaskDefaultTest.php index 3bd8e91f8a6f24a2ab99f71d9a17c8961cffed33..905107086d2c799c187a55c64018cd672fb62d88 100644 --- a/web/core/tests/Drupal/Tests/Core/Menu/LocalTaskDefaultTest.php +++ b/web/core/tests/Drupal/Tests/Core/Menu/LocalTaskDefaultTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\Core\Menu\LocalTaskDefaultTest. - */ - namespace Drupal\Tests\Core\Menu; use Drupal\Core\Menu\LocalTaskDefault; diff --git a/web/core/tests/Drupal/Tests/Core/Password/PhpPasswordTest.php b/web/core/tests/Drupal/Tests/Core/Password/PhpPasswordTest.php index 21f7266d019ca5230b23d3f5dfa34cb6109aacdc..f781fd7d6e94f7f6c735135d915a6f23ad9d6bb0 100644 --- a/web/core/tests/Drupal/Tests/Core/Password/PhpPasswordTest.php +++ b/web/core/tests/Drupal/Tests/Core/Password/PhpPasswordTest.php @@ -112,7 +112,7 @@ public function providerLongPasswords() { // Check a string of 3-byte UTF-8 characters, 510 byte long password is // allowed. - $len = floor(PasswordInterface::PASSWORD_MAX_LENGTH / 3); + $len = (int) floor(PasswordInterface::PASSWORD_MAX_LENGTH / 3); $diff = PasswordInterface::PASSWORD_MAX_LENGTH % 3; $passwords['utf8'] = [str_repeat('€', $len), TRUE]; // 512 byte long password is allowed. diff --git a/web/core/tests/Drupal/Tests/Core/Plugin/CategorizingPluginManagerTraitTest.php b/web/core/tests/Drupal/Tests/Core/Plugin/CategorizingPluginManagerTraitTest.php index de59fcf442ec3fcc97f3b144540f092777d32dcf..98c2f40981316297ab156aa54549ba4df09a17ba 100644 --- a/web/core/tests/Drupal/Tests/Core/Plugin/CategorizingPluginManagerTraitTest.php +++ b/web/core/tests/Drupal/Tests/Core/Plugin/CategorizingPluginManagerTraitTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\Core\Plugin\CategorizingPluginManagerTraitTest. - */ - namespace Drupal\Tests\Core\Plugin; use Drupal\Component\Plugin\CategorizingPluginManagerInterface; diff --git a/web/core/tests/Drupal/Tests/Core/Plugin/Context/ContextTest.php b/web/core/tests/Drupal/Tests/Core/Plugin/Context/ContextTest.php index 5db4b9690f9002b5a7983830d81afc77a824ad34..a1c49a6b54f44cfc30a3ff07200927d445a77b81 100644 --- a/web/core/tests/Drupal/Tests/Core/Plugin/Context/ContextTest.php +++ b/web/core/tests/Drupal/Tests/Core/Plugin/Context/ContextTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\Core\Plugin\Context\ContextTest. - */ - namespace Drupal\Tests\Core\Plugin\Context; use Drupal\Core\Cache\CacheableDependencyInterface; diff --git a/web/core/tests/Drupal/Tests/Core/Plugin/ContextHandlerTest.php b/web/core/tests/Drupal/Tests/Core/Plugin/ContextHandlerTest.php index 04a8bed22d74750c89a57bd1b6f12c07d7fdcb91..5548823831778830ce5e25d02a3dca16b8db5dbe 100644 --- a/web/core/tests/Drupal/Tests/Core/Plugin/ContextHandlerTest.php +++ b/web/core/tests/Drupal/Tests/Core/Plugin/ContextHandlerTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\Core\Plugin\ContextHandlerTest. - */ - namespace Drupal\Tests\Core\Plugin; use Drupal\Component\Plugin\ConfigurableInterface; diff --git a/web/core/tests/Drupal/Tests/Core/ProxyBuilder/ProxyBuilderTest.php b/web/core/tests/Drupal/Tests/Core/ProxyBuilder/ProxyBuilderTest.php index 33bdef6f220c72ee98cbe9db53469edcd22babca..1804182b799c835b21706dc76592f56ac53d4b6b 100644 --- a/web/core/tests/Drupal/Tests/Core/ProxyBuilder/ProxyBuilderTest.php +++ b/web/core/tests/Drupal/Tests/Core/ProxyBuilder/ProxyBuilderTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\Core\ProxyBuilder\ProxyBuilderTest. - */ - namespace Drupal\Tests\Core\ProxyBuilder; use Drupal\Core\ProxyBuilder\ProxyBuilder; diff --git a/web/core/tests/Drupal/Tests/Core/Render/ElementInfoManagerTest.php b/web/core/tests/Drupal/Tests/Core/Render/ElementInfoManagerTest.php index ed06974eec193746800ef4242068cb6233cfa9ac..b53357f7a040682c622737e7fd3fc153884131a0 100644 --- a/web/core/tests/Drupal/Tests/Core/Render/ElementInfoManagerTest.php +++ b/web/core/tests/Drupal/Tests/Core/Render/ElementInfoManagerTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\Core\Render\ElementInfoManagerTest. - */ - namespace Drupal\Tests\Core\Render; use Drupal\Core\Render\ElementInfoManager; diff --git a/web/core/tests/Drupal/Tests/Core/Render/RendererBubblingTest.php b/web/core/tests/Drupal/Tests/Core/Render/RendererBubblingTest.php index e9041d9deaa491be7fc9082329e1f5449850a462..3a31f874e6e293c110200e5bf618a6d4e9731702 100644 --- a/web/core/tests/Drupal/Tests/Core/Render/RendererBubblingTest.php +++ b/web/core/tests/Drupal/Tests/Core/Render/RendererBubblingTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\Core\Render\RendererBubblingTest. - */ - namespace Drupal\Tests\Core\Render; use Drupal\Core\Cache\MemoryBackend; @@ -562,7 +557,7 @@ public function testBubblingWithPrerender($test_element) { $this->memoryCache->set('cached_nested', ['#markup' => 'Cached nested!', '#attached' => [], '#cache' => ['contexts' => [], 'tags' => []]]); // Simulate the rendering of an entire response (i.e. a root call). - $output = $this->renderer->renderRoot($test_element); + $output = (string) $this->renderer->renderRoot($test_element); // First, assert the render array is of the expected form. $this->assertEquals('Cache context!Cache tag!Asset!Placeholder!barquxNested!Cached nested!', trim($output), 'Expected HTML generated.'); diff --git a/web/core/tests/Drupal/Tests/Core/Render/RendererPlaceholdersTest.php b/web/core/tests/Drupal/Tests/Core/Render/RendererPlaceholdersTest.php index 06685be824ccfa2938527bb523c6d9fdb8964140..9e7cb16171e4918aad26771d6212433ae8c6e2a2 100644 --- a/web/core/tests/Drupal/Tests/Core/Render/RendererPlaceholdersTest.php +++ b/web/core/tests/Drupal/Tests/Core/Render/RendererPlaceholdersTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\Core\Render\RendererPlaceholdersTest. - */ - namespace Drupal\Tests\Core\Render; use Drupal\Component\Utility\Crypt; diff --git a/web/core/tests/Drupal/Tests/Core/Render/RendererRecursionTest.php b/web/core/tests/Drupal/Tests/Core/Render/RendererRecursionTest.php index ce26cf14d906076f12b32a2d526cd53ea733dab5..d9716c39ed298adb063aa6aabd9386163851ac75 100644 --- a/web/core/tests/Drupal/Tests/Core/Render/RendererRecursionTest.php +++ b/web/core/tests/Drupal/Tests/Core/Render/RendererRecursionTest.php @@ -70,7 +70,7 @@ public function testRenderRecursionWithNestedRender() { $this->setUpRequest(); $callable = function ($markup) { - $this->assertStringStartsWith('<drupal-render-placeholder', $markup, 'Rendered complex child output as expected, without the placeholder replaced, i.e. with just the placeholder.'); + $this->assertStringStartsWith('<drupal-render-placeholder', (string) $markup, 'Rendered complex child output as expected, without the placeholder replaced, i.e. with just the placeholder.'); return $markup; }; diff --git a/web/core/tests/Drupal/Tests/Core/Render/RendererTest.php b/web/core/tests/Drupal/Tests/Core/Render/RendererTest.php index 3a942e829f84bf73a7b3e2d0c4206cd0e5af368c..ad8a85d12de647ffe06bead14399cf742909ab46 100644 --- a/web/core/tests/Drupal/Tests/Core/Render/RendererTest.php +++ b/web/core/tests/Drupal/Tests/Core/Render/RendererTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\Core\Render\RendererTest. - */ - namespace Drupal\Tests\Core\Render; use Drupal\Component\Render\MarkupInterface; @@ -501,7 +496,7 @@ public function testRenderSorting() { '#markup' => $first, ], ]; - $output = $this->renderer->renderRoot($elements); + $output = (string) $this->renderer->renderRoot($elements); // The lowest weight element should appear last in $output. $this->assertGreaterThan(strpos($output, $first), strpos($output, $second)); @@ -537,7 +532,7 @@ public function testRenderSortingWithSetHashSorted() { ], '#sorted' => TRUE, ]; - $output = $this->renderer->renderRoot($elements); + $output = (string) $this->renderer->renderRoot($elements); // The elements should appear in output in the same order as the array. $this->assertLessThan(strpos($output, $first), strpos($output, $second)); diff --git a/web/core/tests/Drupal/Tests/Core/Render/RendererTestBase.php b/web/core/tests/Drupal/Tests/Core/Render/RendererTestBase.php index 4419f04ceb4036a302f4660abb2b684c212b276f..d85a5d34b5850033f7b4efbcc7f07882629e963b 100644 --- a/web/core/tests/Drupal/Tests/Core/Render/RendererTestBase.php +++ b/web/core/tests/Drupal/Tests/Core/Render/RendererTestBase.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\Core\Render\RendererTestBase. - */ - namespace Drupal\Tests\Core\Render; use Drupal\Core\Cache\Cache; diff --git a/web/core/tests/Drupal/Tests/Core/Routing/RouteBuilderTest.php b/web/core/tests/Drupal/Tests/Core/Routing/RouteBuilderTest.php index a9986d55069044f57195182551a832c4237b07ff..a9e33597dfdff6d1d237033a56646017e2887c18 100644 --- a/web/core/tests/Drupal/Tests/Core/Routing/RouteBuilderTest.php +++ b/web/core/tests/Drupal/Tests/Core/Routing/RouteBuilderTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\Core\Routing\RouteBuilderTest. - */ - namespace Drupal\Tests\Core\Routing; use Drupal\Core\DependencyInjection\ContainerBuilder; diff --git a/web/core/tests/Drupal/Tests/Core/StackMiddleware/NegotiationMiddlewareTest.php b/web/core/tests/Drupal/Tests/Core/StackMiddleware/NegotiationMiddlewareTest.php index a185f100bb1d20bd86b42db6e267fe622eaecb73..5882a20ecbb6f0945947f2eefc8869fad89c4a33 100644 --- a/web/core/tests/Drupal/Tests/Core/StackMiddleware/NegotiationMiddlewareTest.php +++ b/web/core/tests/Drupal/Tests/Core/StackMiddleware/NegotiationMiddlewareTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\Core\StackMiddleware\NegotiationMiddlewareTest. - */ - namespace Drupal\Tests\Core\StackMiddleware; use Drupal\Core\StackMiddleware\NegotiationMiddleware; diff --git a/web/core/tests/Drupal/Tests/Core/StringTranslation/TranslationManagerTest.php b/web/core/tests/Drupal/Tests/Core/StringTranslation/TranslationManagerTest.php index b2d8e7fac1012b7bcc0fde546b39340a49317f3d..8b2fd2d2907cc44b81b098e437782fd8ca653aad 100644 --- a/web/core/tests/Drupal/Tests/Core/StringTranslation/TranslationManagerTest.php +++ b/web/core/tests/Drupal/Tests/Core/StringTranslation/TranslationManagerTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\Core\StringTranslation\TranslationManagerTest. - */ - namespace Drupal\Tests\Core\StringTranslation; use Drupal\Component\Render\MarkupInterface; diff --git a/web/core/tests/Drupal/Tests/Core/Template/TwigExtensionTest.php b/web/core/tests/Drupal/Tests/Core/Template/TwigExtensionTest.php index 1aa2da366a1cca8fc61463dd3e4483f6869e4bfb..21b1ffe7bba31679344e9e7a957646c8d27c0664 100644 --- a/web/core/tests/Drupal/Tests/Core/Template/TwigExtensionTest.php +++ b/web/core/tests/Drupal/Tests/Core/Template/TwigExtensionTest.php @@ -107,7 +107,7 @@ public function testEscaping($template, $expected) { $nodes = $twig->parse($twig->tokenize(new Source($template, $name))); $this->assertSame($expected, $nodes->getNode('body') - ->getNode(0) + ->getNode('0') ->getNode('expr') instanceof FilterExpression); } diff --git a/web/core/tests/Drupal/Tests/Core/Template/TwigSandboxTest.php b/web/core/tests/Drupal/Tests/Core/Template/TwigSandboxTest.php index c7507dc0f79a73cd0bad890650065858cdeb05dc..318baa8635b6dd754cee3ed04d78ec583a4a7bb8 100644 --- a/web/core/tests/Drupal/Tests/Core/Template/TwigSandboxTest.php +++ b/web/core/tests/Drupal/Tests/Core/Template/TwigSandboxTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\Core\Template\TwigSandboxTest. - */ - namespace Drupal\Tests\Core\Template; use Drupal\Core\Template\Attribute; diff --git a/web/core/tests/Drupal/Tests/Core/UrlTest.php b/web/core/tests/Drupal/Tests/Core/UrlTest.php index aa0c0cf74e13c161daf47eb83fefe5f6be8d2c3f..054c6c0f13bb9ece285eb1441a26976b875f871b 100644 --- a/web/core/tests/Drupal/Tests/Core/UrlTest.php +++ b/web/core/tests/Drupal/Tests/Core/UrlTest.php @@ -1,10 +1,5 @@ <?php -/** - * @file - * Contains \Drupal\Tests\Core\UrlTest. - */ - namespace Drupal\Tests\Core; use Drupal\Component\Utility\UrlHelper; diff --git a/web/core/tests/Drupal/Tests/Core/Utility/LinkGeneratorTest.php b/web/core/tests/Drupal/Tests/Core/Utility/LinkGeneratorTest.php index 16bda9820a313ab53a69b4c09f47eef7dcb99c5e..f91444570f83035e9a3ec8ac732b311905e861b3 100644 --- a/web/core/tests/Drupal/Tests/Core/Utility/LinkGeneratorTest.php +++ b/web/core/tests/Drupal/Tests/Core/Utility/LinkGeneratorTest.php @@ -410,7 +410,7 @@ public function testGenerateXss() { $url = new Url('test_route_4'); $url->setUrlGenerator($this->urlGenerator); $result = $this->linkGenerator->generate("<script>alert('XSS!')</script>", $url); - $this->assertNoXPathResults('//a[@href="/test-route-4"]/script', $result); + $this->assertNoXPathResults('//a[@href="/test-route-4"]/script', (string) $result); } /** @@ -449,7 +449,7 @@ public function testGenerateWithHtml() { 'tag' => 'em', ], ], $result); - $this->assertStringContainsString('<em>HTML output</em>', $result); + $this->assertStringContainsString('<em>HTML output</em>', (string) $result); } /** @@ -498,7 +498,7 @@ public function testGenerateActive() { $url = new Url('test_route_1', [], ['set_active_class' => FALSE]); $url->setUrlGenerator($this->urlGenerator); $result = $this->linkGenerator->generate('Test', $url); - $this->assertNoXPathResults('//a[@data-drupal-link-system-path="test-route-1"]', $result); + $this->assertNoXPathResults('//a[@data-drupal-link-system-path="test-route-1"]', (string) $result); // Render a link with an associated language. $url = new Url('test_route_1', [], [ diff --git a/web/core/tests/Drupal/Tests/UiHelperTrait.php b/web/core/tests/Drupal/Tests/UiHelperTrait.php index 713e98518dcde41e2c9dc118fb1c9c5e2c4d0bcf..78c10d03a5563b6bd7b384c088df4f3b3a455656 100644 --- a/web/core/tests/Drupal/Tests/UiHelperTrait.php +++ b/web/core/tests/Drupal/Tests/UiHelperTrait.php @@ -3,7 +3,6 @@ namespace Drupal\Tests; use Behat\Mink\Driver\BrowserKitDriver; -use Drupal\Component\Render\FormattableMarkup; use Drupal\Component\Utility\Html; use Drupal\Component\Utility\UrlHelper; use Drupal\Core\Session\AccountInterface; @@ -161,7 +160,7 @@ protected function drupalLogin(AccountInterface $account) { // @see ::drupalUserIsLoggedIn() $account->sessionId = $this->getSession()->getCookie(\Drupal::service('session_configuration')->getOptions(\Drupal::request())['name']); - $this->assertTrue($this->drupalUserIsLoggedIn($account), new FormattableMarkup('User %name successfully logged in.', ['%name' => $account->getAccountName()])); + $this->assertTrue($this->drupalUserIsLoggedIn($account), "User {$account->getAccountName()} successfully logged in."); $this->loggedInUser = $account; $this->container->get('current_user')->setAccount($account); diff --git a/web/core/themes/claro/claro.theme b/web/core/themes/claro/claro.theme index 27482188ed4ebe65dbacaa0f08cdafa5da7df20c..160ef878e25f12088d1beb7c7d42e0619bb35133 100644 --- a/web/core/themes/claro/claro.theme +++ b/web/core/themes/claro/claro.theme @@ -1383,6 +1383,11 @@ function _claro_preprocess_file_and_image_widget(array &$variables) { $variables['has_meta'] = $alt_is_visible || $title_is_visible || $display_is_visible || $description_is_visible; $variables['display'] = $display_is_visible; + // Handle the default checkbox display after the file is uploaded. + if (array_key_exists('display', $element)) { + $variables['data']['display']['#checked'] = $element['display']['#value']; + } + // Render file upload input and upload button (or file name and remove button, // if the field is not empty) in an emphasized div. foreach ($variables['data'] as $key => $item) { diff --git a/web/core/themes/olivero/css/base/variables.css b/web/core/themes/olivero/css/base/variables.css index 750826d028cab05f0124a74b32a1d0c9a7b8536c..0ec1c1dcbc75545c0c19aac6cb64f030f412aa43 100644 --- a/web/core/themes/olivero/css/base/variables.css +++ b/web/core/themes/olivero/css/base/variables.css @@ -54,7 +54,9 @@ --sp2: calc(2 * var(--sp)); --sp2-5: calc(2.5 * var(--sp)); --sp3: calc(3 * var(--sp)); + --sp3-5: calc(3.5 * var(--sp)); --sp4: calc(4 * var(--sp)); + --sp4-5: calc(4.5 * var(--sp)); --sp5: calc(5 * var(--sp)); --sp6: calc(6 * var(--sp)); --sp7: calc(7 * var(--sp)); @@ -63,6 +65,7 @@ --sp10: calc(10 * var(--sp)); --sp11: calc(11 * var(--sp)); --sp12: calc(12 * var(--sp)); + --sp13: calc(13 * var(--sp)); /** * Gray colors. @@ -116,7 +119,7 @@ --color--green: #3fa21c; /* Header */ - --header-height-wide-when-fixed: calc(6 * var(--sp)); + --header-height-wide-when-fixed: var(--sp6); /* Width of slide out navigation */ --mobile-nav-width: 31.25rem; diff --git a/web/core/themes/olivero/css/base/variables.pcss.css b/web/core/themes/olivero/css/base/variables.pcss.css index 59a4824f86e19cc5a0f29e8a74df350a7fbb8505..ea24361d9e60ade7e433446e6728d1331c40ae89 100644 --- a/web/core/themes/olivero/css/base/variables.pcss.css +++ b/web/core/themes/olivero/css/base/variables.pcss.css @@ -70,7 +70,9 @@ --sp2: calc(2 * var(--sp)); --sp2-5: calc(2.5 * var(--sp)); --sp3: calc(3 * var(--sp)); + --sp3-5: calc(3.5 * var(--sp)); --sp4: calc(4 * var(--sp)); + --sp4-5: calc(4.5 * var(--sp)); --sp5: calc(5 * var(--sp)); --sp6: calc(6 * var(--sp)); --sp7: calc(7 * var(--sp)); @@ -79,6 +81,7 @@ --sp10: calc(10 * var(--sp)); --sp11: calc(11 * var(--sp)); --sp12: calc(12 * var(--sp)); + --sp13: calc(13 * var(--sp)); /** * Gray colors. @@ -132,7 +135,7 @@ --color--green: #3fa21c; /* Green */ /* Header */ - --header-height-wide-when-fixed: calc(6 * var(--sp)); + --header-height-wide-when-fixed: var(--sp6); /* Width of slide out navigation */ --mobile-nav-width: 500px; diff --git a/web/core/themes/olivero/css/components/header-search-narrow.css b/web/core/themes/olivero/css/components/header-search-narrow.css index b02f01942bc2d504f03f176f88446f5246c84ee7..3bfcef0fd67e1e12549f9ea88fac2bf8c03e5f44 100644 --- a/web/core/themes/olivero/css/components/header-search-narrow.css +++ b/web/core/themes/olivero/css/components/header-search-narrow.css @@ -31,7 +31,7 @@ .block-search-narrow input[type="search"] { width: calc(100% + var(--sp2)); - height: calc(3 * var(--sp)); + height: var(--sp3); padding-block: 0; padding-inline-start: var(--sp); padding-inline-end: var(--sp); @@ -57,7 +57,7 @@ @media (min-width: 43.75rem) { .block-search-narrow input[type="search"] { - height: calc(4 * var(--sp)); + height: var(--sp4); padding-inline-start: var(--sp2); padding-inline-end: var(--sp2); } diff --git a/web/core/themes/olivero/css/components/header-search-narrow.pcss.css b/web/core/themes/olivero/css/components/header-search-narrow.pcss.css index 60b167f1b39db47e653e2f01fbb0d0061ae9d346..5e2ad80e34ea4ae945570f0907f8f3a7c3a1512d 100644 --- a/web/core/themes/olivero/css/components/header-search-narrow.pcss.css +++ b/web/core/themes/olivero/css/components/header-search-narrow.pcss.css @@ -25,7 +25,7 @@ & input[type="search"] { width: calc(100% + var(--sp2)); - height: calc(3 * var(--sp)); + height: var(--sp3); padding-block: 0; padding-inline-start: var(--sp); padding-inline-end: var(--sp); @@ -49,7 +49,7 @@ } @media (--md) { - height: calc(4 * var(--sp)); + height: var(--sp4); padding-inline-start: var(--sp2); padding-inline-end: var(--sp2); } diff --git a/web/core/themes/olivero/css/components/navigation/nav-primary-wide.css b/web/core/themes/olivero/css/components/navigation/nav-primary-wide.css index 675d46dd34f80f6d18f121d3343c6a82f14fde72..0662a881e7d175ae0d8b91442cae6787c11ba8d2 100644 --- a/web/core/themes/olivero/css/components/navigation/nav-primary-wide.css +++ b/web/core/themes/olivero/css/components/navigation/nav-primary-wide.css @@ -114,7 +114,7 @@ body:not(.is-always-mobile-nav) .primary-nav__menu--level-2 { position: absolute; z-index: 105; /* Appear above search container. */ - top: calc(100% - (0.5 * var(--sp))); + top: calc(100% - var(--sp0-5)); left: 50%; visibility: hidden; overflow: auto; @@ -124,7 +124,7 @@ max-height: calc(100vh - var(--site-header-height-wide) - var(--drupal-displace-offset-top, 0px) - var(--drupal-displace-offset-bottom, 0px) - var(--sp)); margin-block-start: 0; margin-inline-start: 0; - padding-block: calc(3 * var(--sp)); + padding-block: var(--sp3); padding-inline-start: var(--sp2); padding-inline-end: var(--sp2); transition: none; diff --git a/web/core/themes/olivero/css/components/navigation/nav-primary-wide.pcss.css b/web/core/themes/olivero/css/components/navigation/nav-primary-wide.pcss.css index 88eed0c1b5c679f631edd5ad1dbd26e582bf6d3f..9e042f3cf06aa7f28abc7481c4588c6da6c374b4 100644 --- a/web/core/themes/olivero/css/components/navigation/nav-primary-wide.pcss.css +++ b/web/core/themes/olivero/css/components/navigation/nav-primary-wide.pcss.css @@ -116,7 +116,7 @@ body:not(.is-always-mobile-nav) { & .primary-nav__menu--level-2 { position: absolute; z-index: 105; /* Appear above search container. */ - top: calc(100% - (0.5 * var(--sp))); + top: calc(100% - var(--sp0-5)); left: 50%; visibility: hidden; overflow: auto; @@ -126,7 +126,7 @@ body:not(.is-always-mobile-nav) { max-height: calc(100vh - var(--site-header-height-wide) - var(--drupal-displace-offset-top, 0px) - var(--drupal-displace-offset-bottom, 0px) - var(--sp)); margin-block-start: 0; margin-inline-start: 0; - padding-block: calc(3 * var(--sp)); + padding-block: var(--sp3); padding-inline-start: var(--sp2); padding-inline-end: var(--sp2); transition: none; diff --git a/web/core/themes/olivero/css/components/node-teaser.css b/web/core/themes/olivero/css/components/node-teaser.css index efaa290ea534d57877ec7676ebd513df5b1fefca..103ca2ec8815cb31e154171345db17827b36ed57 100644 --- a/web/core/themes/olivero/css/components/node-teaser.css +++ b/web/core/themes/olivero/css/components/node-teaser.css @@ -57,7 +57,7 @@ } :is(.node--view-mode-teaser .primary-image) + .node__title { - flex-basis: calc(100% - calc(4.5 * var(--sp))); + flex-basis: calc(100% - var(--sp4-5)); } @media (min-width: 62.5rem) { @@ -71,8 +71,8 @@ } .node--view-mode-teaser .primary-image img { - width: calc(3.5 * var(--sp)); - height: calc(3.5 * var(--sp)); + width: var(--sp3-5); + height: var(--sp3-5); object-fit: cover; border-radius: 50%; } diff --git a/web/core/themes/olivero/css/components/node-teaser.pcss.css b/web/core/themes/olivero/css/components/node-teaser.pcss.css index 6f956afa822ffc52255beab2e31b9d05254a299c..1d045f46d2ea8784d4b1ac625c3383d8c8a15bd8 100644 --- a/web/core/themes/olivero/css/components/node-teaser.pcss.css +++ b/web/core/themes/olivero/css/components/node-teaser.pcss.css @@ -47,7 +47,7 @@ /* Ensure title does not wrap under image until necessary. */ & + .node__title { - flex-basis: calc(100% - calc(4.5 * var(--sp))); + flex-basis: calc(100% - var(--sp4-5)); @media (--lg) { flex-basis: auto; @@ -59,8 +59,8 @@ } & img { - width: calc(3.5 * var(--sp)); - height: calc(3.5 * var(--sp)); + width: var(--sp3-5); + height: var(--sp3-5); object-fit: cover; border-radius: 50%; diff --git a/web/core/themes/olivero/css/components/text-content.css b/web/core/themes/olivero/css/components/text-content.css index 7b7832e41afeae2917dbfbd6df158533da6c6c35..2380a187743c29690a8b5a070805a7ba14b7a7e7 100644 --- a/web/core/themes/olivero/css/components/text-content.css +++ b/web/core/themes/olivero/css/components/text-content.css @@ -139,7 +139,7 @@ .text-content blockquote, .cke_editable blockquote { font-size: 2.5rem; - line-height: calc(3.5 * var(--sp)); + line-height: var(--sp3-5); } } diff --git a/web/core/themes/olivero/css/components/text-content.pcss.css b/web/core/themes/olivero/css/components/text-content.pcss.css index 840087bcd790211f298679ee94c72a6952a26e01..7346607ca7c860f41494331fd3860529bf248c80 100644 --- a/web/core/themes/olivero/css/components/text-content.pcss.css +++ b/web/core/themes/olivero/css/components/text-content.pcss.css @@ -109,7 +109,7 @@ @media (--lg) { font-size: 40px; - line-height: calc(3.5 * var(--sp)); + line-height: var(--sp3-5); } } diff --git a/web/core/themes/olivero/css/layout/layout-footer.css b/web/core/themes/olivero/css/layout/layout-footer.css index 17df54dbae1c28546b2c1a5a03ee41b41880e8f4..dac1d348902506c0fa28e98ed06ad27f37867f07 100644 --- a/web/core/themes/olivero/css/layout/layout-footer.css +++ b/web/core/themes/olivero/css/layout/layout-footer.css @@ -26,7 +26,7 @@ @media (min-width: 75rem) { .site-footer__inner { - padding-block: var(--sp4) calc(13 * var(--sp)); + padding-block: var(--sp4) var(--sp13); } } diff --git a/web/core/themes/olivero/css/layout/layout-footer.pcss.css b/web/core/themes/olivero/css/layout/layout-footer.pcss.css index 2e91e4f86ac19f3e85273a556a89b8827da47885..8e57c031d71c2e959b257cb7007cb1174e9551e5 100644 --- a/web/core/themes/olivero/css/layout/layout-footer.pcss.css +++ b/web/core/themes/olivero/css/layout/layout-footer.pcss.css @@ -18,7 +18,7 @@ padding-block: var(--sp2); @media (--nav) { - padding-block: var(--sp4) calc(13 * var(--sp)); + padding-block: var(--sp4) var(--sp13); } } diff --git a/web/core/themes/olivero/css/layout/social-bar.css b/web/core/themes/olivero/css/layout/social-bar.css index 2b5b72eb418b143281b3cc3452fe91d88d18c7a7..9fbcfbf07986fb147e40ade22e714e6784c7070a 100644 --- a/web/core/themes/olivero/css/layout/social-bar.css +++ b/web/core/themes/olivero/css/layout/social-bar.css @@ -30,7 +30,7 @@ .social-bar__inner { position: relative; width: var(--content-left); - padding-block: calc(5 * var(--sp)); + padding-block: var(--sp5); padding-inline-start: 0; padding-inline-end: 0; } @@ -39,7 +39,7 @@ position: fixed; inset-block-start: var(--sp6); inset-inline-start: 0; - height: calc(100vh - 6 * var(--sp)); + height: calc(100vh - var(--sp6)); } } diff --git a/web/core/themes/olivero/css/layout/social-bar.pcss.css b/web/core/themes/olivero/css/layout/social-bar.pcss.css index 4116e35600cdf41421d45ab965c82461ef55818e..f52452470074fda3491c09cbe799fe0dccb05f1d 100644 --- a/web/core/themes/olivero/css/layout/social-bar.pcss.css +++ b/web/core/themes/olivero/css/layout/social-bar.pcss.css @@ -23,7 +23,7 @@ @media (--nav) { position: relative; width: var(--content-left); - padding-block: calc(5 * var(--sp)); + padding-block: var(--sp5); padding-inline-start: 0; padding-inline-end: 0; @@ -31,7 +31,7 @@ position: fixed; inset-block-start: var(--sp6); inset-inline-start: 0; - height: calc(100vh - 6 * var(--sp)); + height: calc(100vh - var(--sp6)); } } }