Skip to content
Snippets Groups Projects
Verified Commit 4cfa1b5f authored by Dave Long's avatar Dave Long
Browse files

Issue #3392396 by andypost, longwave: Improve AutowireTest to ignore TrustedCallbackInterface

parent 2402f97b
Branches
Tags
43 merge requests!8528Issue #3456871 by Tim Bozeman: Support NULL services,!8323Fix source code editing and in place front page site studio editing.,!6278Issue #3187770 by godotislate, smustgrave, catch, quietone: Views Rendered...,!54479.5.x SF update,!5022Issue #3394406: FileUploadHandler::handleExtensionValidation does not have fallback for sites still using file_validate_extensions,!3878Removed unused condition head title for views,!38582585169-10.1.x,!3818Issue #2140179: $entity->original gets stale between updates,!3742Issue #3328429: Create item list field formatter for displaying ordered and unordered lists,!3731Claro: role=button on status report items,!3668Resolve #3347842 "Deprecate the trusted",!3651Issue #3347736: Create new SDC component for Olivero (header-search),!3546refactored dialog.pcss file,!3531Issue #3336994: StringFormatter always displays links to entity even if the user in context does not have access,!3502Issue #3335308: Confusing behavior with FormState::setFormState and FormState::setMethod,!3452Issue #3332701: Refactor Claro's tablesort-indicator stylesheet,!3451Issue #2410579: Allows setting the current language programmatically.,!3355Issue #3209129: Scrolling problems when adding a block via layout builder,!3226Issue #2987537: Custom menu link entity type should not declare "bundle" entity key,!3154Fixes #2987987 - CSRF token validation broken on routes with optional parameters.,!3147Issue #3328457: Replace most substr($a, $i) where $i is negative with str_ends_with(),!3146Issue #3328456: Replace substr($a, 0, $i) with str_starts_with(),!3133core/modules/system/css/components/hidden.module.css,!31312878513-10.1.x,!2964Issue #2865710 : Dependencies from only one instance of a widget are used in display modes,!2812Issue #3312049: [Followup] Fix Drupal.Commenting.FunctionComment.MissingReturnType returns for NULL,!2614Issue #2981326: Replace non-test usages of \Drupal::logger() with IoC injection,!2378Issue #2875033: Optimize joins and table selection in SQL entity query implementation,!2334Issue #3228209: Add hasRole() method to AccountInterface,!2062Issue #3246454: Add weekly granularity to views date sort,!1591Issue #3199697: Add JSON:API Translation experimental module,!1255Issue #3238922: Refactor (if feasible) uses of the jQuery serialize function to use vanillaJS,!1105Issue #3025039: New non translatable field on translatable content throws error,!1073issue #3191727: Focus states on mobile second level navigation items fixed,!10223132456: Fix issue where views instances are emptied before an ajax request is complete,!877Issue #2708101: Default value for link text is not saved,!844Resolve #3036010 "Updaters",!673Issue #3214208: FinishResponseSubscriber could create duplicate headers,!617Issue #3043725: Provide a Entity Handler for user cancelation,!579Issue #2230909: Simple decimals fail to pass validation,!560Move callback classRemove outside of the loop,!555Issue #3202493,!485Sets the autocomplete attribute for username/password input field on login form.
Pipeline #32469 failed
Pipeline: drupal

#32478

    Pipeline: drupal

    #32477

      Pipeline: drupal

      #32475

        +1
        ......@@ -14,3 +14,4 @@ services:
        announcements_feed.lazy_builders:
        class: Drupal\announcements_feed\LazyBuilders
        arguments: [ '@plugin.manager.element_info']
        Drupal\announcements_feed\LazyBuilders: '@announcements_feed.lazy_builders'
        ......@@ -20,6 +20,7 @@ services:
        comment.lazy_builders:
        class: Drupal\comment\CommentLazyBuilders
        arguments: ['@entity_type.manager', '@entity.form_builder', '@current_user', '@comment.manager', '@module_handler', '@renderer']
        Drupal\comment\CommentLazyBuilders: '@comment.lazy_builders'
        comment.link_builder:
        class: Drupal\comment\CommentLinkBuilder
        ......
        ......@@ -5,6 +5,7 @@ services:
        element.editor:
        class: Drupal\editor\Element
        arguments: ['@plugin.manager.editor']
        Drupal\editor\Element: '@element.editor'
        editor.config_translation_mapper_subscriber:
        class: Drupal\editor\EventSubscriber\EditorConfigTranslationSubscriber
        arguments: ['@config.factory']
        ......
        ......@@ -2,3 +2,4 @@ services:
        shortcut.lazy_builders:
        class: Drupal\shortcut\ShortcutLazyBuilders
        arguments: ['@renderer']
        Drupal\shortcut\ShortcutLazyBuilders: '@shortcut.lazy_builders'
        ......@@ -6,6 +6,8 @@ services:
        public: false
        Drupal\autowire_test\TestInjection2:
        public: false
        Drupal\autowire_test\TestInjection3:
        public: false
        # An alias that specifies which service to use by default for arguments that
        # type-hint to the interface.
        ......@@ -14,6 +16,7 @@ services:
        Drupal\autowire_test\TestInjectionInterface:
        alias: 'Drupal\autowire_test\TestInjection'
        public: false
        Drupal\autowire_test\TestInjectionInterface $testInjection3: '@Drupal\autowire_test\TestInjection3'
        # A service that tests autowiring for four constructor arguments:
        # - One type-hinted to TestInjectionInterface.
        ......
        <?php
        namespace Drupal\autowire_test;
        use Drupal\Core\Security\TrustedCallbackInterface;
        /**
        * A service that is autowired.
        */
        class TestInjection3 implements TrustedCallbackInterface, TestInjectionInterface {
        /**
        * {@inheritdoc}
        */
        public static function trustedCallbacks() {
        return [];
        }
        }
        ......@@ -27,7 +27,7 @@ class TestService {
        */
        protected $kernel;
        public function __construct(TestInjectionInterface $test_injection, TestInjection2 $test_injection2, Connection $database, DrupalKernelInterface $kernel) {
        public function __construct(TestInjectionInterface $test_injection, TestInjection2 $test_injection2, Connection $database, DrupalKernelInterface $kernel, protected TestInjectionInterface $testInjection3) {
        $this->testInjection = $test_injection;
        $this->testInjection2 = $test_injection2;
        $this->database = $database;
        ......@@ -42,6 +42,10 @@ public function getTestInjection2(): TestInjection2 {
        return $this->testInjection2;
        }
        public function getTestInjection3(): TestInjection3 {
        return $this->testInjection3;
        }
        public function getDatabase(): Connection {
        return $this->database;
        }
        ......
        ......@@ -63,6 +63,7 @@ services:
        user.toolbar_link_builder:
        class: Drupal\user\ToolbarLinkBuilder
        arguments: ['@current_user']
        Drupal\user\ToolbarLinkBuilder: '@user.toolbar_link_builder'
        user.flood_control:
        class: Drupal\user\UserFloodControl
        arguments: ['@flood', '@event_dispatcher', '@request_stack']
        ......
        ......@@ -4,9 +4,11 @@
        use Drupal\autowire_test\TestInjection;
        use Drupal\autowire_test\TestInjection2;
        use Drupal\autowire_test\TestInjection3;
        use Drupal\autowire_test\TestService;
        use Drupal\Core\Database\Connection;
        use Drupal\Core\DrupalKernelInterface;
        use Drupal\Core\Security\TrustedCallbackInterface;
        use Drupal\Core\Serialization\Yaml;
        use Drupal\KernelTests\FileSystemModuleDiscoveryDataProviderTrait;
        use Drupal\KernelTests\KernelTestBase;
        ......@@ -33,6 +35,7 @@ public function testAutowire(): void {
        // Ensure an autowired interface works.
        $this->assertInstanceOf(TestInjection::class, $service->getTestInjection());
        $this->assertInstanceOf(TestInjection3::class, $service->getTestInjection3());
        // Ensure an autowired class works.
        $this->assertInstanceOf(TestInjection2::class, $service->getTestInjection2());
        // Ensure an autowired core class works.
        ......@@ -100,6 +103,10 @@ public function testCoreServiceAliases(): void {
        if (!$implements) {
        $expected[$class] = $id;
        }
        elseif (count($implements) === 1 && TrustedCallbackInterface::class === reset($implements)) {
        // Classes implementing only TrustedCallbackInterface should be aliased.
        $expected[$class] = $id;
        }
        // Expect classes that are the only implementation of their interface to
        // be aliased.
        ......
        0% Loading or .
        You are about to add 0 people to the discussion. Proceed with caution.
        Please register or to comment