Skip to content
Snippets Groups Projects
Verified Commit e0644f92 authored by Alex Pott's avatar Alex Pott
Browse files

Issue #3433091 by mondrake: Method getMockForTrait() of class...

Issue #3433091 by mondrake: Method getMockForTrait() of class PHPUnit\Framework\MockObject\MockBuilder is deprecated in PHPUnit 10
parent 5776f287
No related branches found
No related tags found
28 merge requests!11131[10.4.x-only-DO-NOT-MERGE]: Issue ##2842525 Ajax attached to Views exposed filter form does not trigger callbacks,!9470[10.3.x-only-DO-NOT-MERGE]: #3331771 Fix file_get_contents(): Passing null to parameter,!8540Issue #3457061: Bootstrap Modal dialog Not closing after 10.3.0 Update,!8528Issue #3456871 by Tim Bozeman: Support NULL services,!8373Issue #3427374 by danflanagan8, Vighneshh: taxonomy_tid ViewsArgumentDefault...,!7526Expose roles in response,!7352Draft: Resolve #3203489 "Set filename as",!3878Removed unused condition head title for views,!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,!3651Issue #3347736: Create new SDC component for Olivero (header-search),!3531Issue #3336994: StringFormatter always displays links to entity even if the user in context does not have access,!3355Issue #3209129: Scrolling problems when adding a block via layout builder,!3154Fixes #2987987 - CSRF token validation broken on routes with optional parameters.,!3133core/modules/system/css/components/hidden.module.css,!2812Issue #3312049: [Followup] Fix Drupal.Commenting.FunctionComment.MissingReturnType returns for NULL,!2794Issue #3100732: Allow specifying `meta` data on JSON:API objects,!2378Issue #2875033: Optimize joins and table selection in SQL entity query implementation,!2062Issue #3246454: Add weekly granularity to views date sort,!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,!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
Pipeline #127533 canceled
Pipeline: drupal

#127534

    ......@@ -75,7 +75,6 @@ public function testFailedValidate() {
    /**
    * A test class to use to test EntityResourceValidationTrait.
    *
    * Using ->getMockForTrait is problematic, as this trait is marked internal.
    * Because the mock doesn't use the \Drupal namespace, the Symfony 4+ class
    * loader will throw a deprecation error.
    */
    ......
    ......@@ -73,9 +73,9 @@ public function testShouldRedirectToInstaller($expected, $exception, $connection
    }
    catch (\Exception $e) {
    // Mock the trait.
    $trait = $this->getMockBuilder(InstallerRedirectTrait::class)
    $trait = $this->getMockBuilder(InstallerRedirectTraitMockableClass::class)
    ->onlyMethods(['isCli'])
    ->getMockForTrait();
    ->getMock();
    // Make sure that the method thinks we are not using the cli.
    $trait->expects($this->any())
    ......@@ -125,3 +125,12 @@ public function testShouldRedirectToInstaller($expected, $exception, $connection
    }
    }
    /**
    * A class using the InstallerRedirectTrait for mocking purposes.
    */
    class InstallerRedirectTraitMockableClass {
    use InstallerRedirectTrait;
    }
    ......@@ -4,6 +4,7 @@
    namespace Drupal\Tests\Component\Plugin\Discovery;
    use Drupal\Component\Plugin\Discovery\DiscoveryCachedTrait;
    use PHPUnit\Framework\TestCase;
    /**
    ......@@ -35,8 +36,9 @@ public static function providerGetDefinition() {
    * @dataProvider providerGetDefinition
    */
    public function testGetDefinition($expected, $cached_definitions, $get_definitions, $plugin_id) {
    // Mock a DiscoveryCachedTrait.
    $trait = $this->getMockForTrait('Drupal\Component\Plugin\Discovery\DiscoveryCachedTrait');
    $trait = $this->getMockBuilder(DiscoveryCachedTraitMockableClass::class)
    ->onlyMethods(['getDefinitions'])
    ->getMock();
    $reflection_definitions = new \ReflectionProperty($trait, 'definitions');
    // getDefinition() needs the ::$definitions property to be set in one of two
    // ways: 1) As existing cached data, or 2) as a side-effect of calling
    ......@@ -64,3 +66,16 @@ public function testGetDefinition($expected, $cached_definitions, $get_definitio
    }
    }
    /**
    * A class using the DiscoveryCachedTrait for mocking purposes.
    */
    class DiscoveryCachedTraitMockableClass {
    use DiscoveryCachedTrait;
    public function getDefinitions(): array {
    return [];
    }
    }
    ......@@ -4,6 +4,7 @@
    namespace Drupal\Tests\Component\Plugin\Discovery;
    use Drupal\Component\Plugin\Discovery\DiscoveryTrait;
    use Drupal\Component\Plugin\Exception\PluginNotFoundException;
    use PHPUnit\Framework\TestCase;
    ......@@ -33,8 +34,7 @@ public static function providerDoGetDefinition() {
    * @dataProvider providerDoGetDefinition
    */
    public function testDoGetDefinition($expected, $definitions, $plugin_id) {
    // Mock the trait.
    $trait = $this->getMockForTrait('Drupal\Component\Plugin\Discovery\DiscoveryTrait');
    $trait = new DiscoveryTraitMockableClass();
    // Un-protect the method using reflection.
    $method_ref = new \ReflectionMethod($trait, 'doGetDefinition');
    // Call doGetDefinition, with $exception_on_invalid always FALSE.
    ......@@ -64,8 +64,7 @@ public static function providerDoGetDefinitionException() {
    * @uses \Drupal\Component\Plugin\Exception\PluginNotFoundException
    */
    public function testDoGetDefinitionException($expected, $definitions, $plugin_id) {
    // Mock the trait.
    $trait = $this->getMockForTrait('Drupal\Component\Plugin\Discovery\DiscoveryTrait');
    $trait = new DiscoveryTraitMockableClass();
    // Un-protect the method using reflection.
    $method_ref = new \ReflectionMethod($trait, 'doGetDefinition');
    // Call doGetDefinition, with $exception_on_invalid always TRUE.
    ......@@ -81,7 +80,9 @@ public function testGetDefinition($expected, $definitions, $plugin_id) {
    // Since getDefinition is a wrapper around doGetDefinition(), we can re-use
    // its data provider. We just have to tell abstract method getDefinitions()
    // to use the $definitions array.
    $trait = $this->getMockForTrait('Drupal\Component\Plugin\Discovery\DiscoveryTrait');
    $trait = $this->getMockBuilder(DiscoveryTraitMockableClass::class)
    ->onlyMethods(['getDefinitions'])
    ->getMock();
    $trait->expects($this->once())
    ->method('getDefinitions')
    ->willReturn($definitions);
    ......@@ -101,7 +102,9 @@ public function testGetDefinitionException($expected, $definitions, $plugin_id)
    // Since getDefinition is a wrapper around doGetDefinition(), we can re-use
    // its data provider. We just have to tell abstract method getDefinitions()
    // to use the $definitions array.
    $trait = $this->getMockForTrait('Drupal\Component\Plugin\Discovery\DiscoveryTrait');
    $trait = $this->getMockBuilder(DiscoveryTraitMockableClass::class)
    ->onlyMethods(['getDefinitions'])
    ->getMock();
    $trait->expects($this->once())
    ->method('getDefinitions')
    ->willReturn($definitions);
    ......@@ -129,9 +132,9 @@ public static function providerHasDefinition() {
    * @dataProvider providerHasDefinition
    */
    public function testHasDefinition($expected, $plugin_id) {
    $trait = $this->getMockBuilder('Drupal\Component\Plugin\Discovery\DiscoveryTrait')
    $trait = $this->getMockBuilder(DiscoveryTraitMockableClass::class)
    ->onlyMethods(['getDefinition'])
    ->getMockForTrait();
    ->getMock();
    // Set up our mocked getDefinition() to return TRUE for 'valid' and FALSE
    // for 'not_valid'.
    $trait->expects($this->once())
    ......@@ -148,3 +151,16 @@ public function testHasDefinition($expected, $plugin_id) {
    }
    }
    /**
    * A class using the DiscoveryTrait for mocking purposes.
    */
    class DiscoveryTraitMockableClass {
    use DiscoveryTrait;
    public function getDefinitions(): array {
    return [];
    }
    }
    ......@@ -45,26 +45,26 @@ public function testConfig() {
    * @covers ::config
    */
    public function testConfigFactoryException() {
    $trait = $this->getMockForTrait('Drupal\Core\Form\ConfigFormBaseTrait');
    $config_method = new \ReflectionMethod($trait, 'config');
    $testObject = new ConfiguredTrait();
    // There is no config factory available this should result in an exception.
    $this->expectException(\LogicException::class);
    $this->expectExceptionMessage('No config factory available for ConfigFormBaseTrait');
    $config_method->invoke($trait, 'editable.config');
    $config_method = new \ReflectionMethod($testObject, 'config');
    $config_method->invoke($testObject, 'editable.config');
    }
    /**
    * @covers ::config
    */
    public function testConfigFactoryExceptionInvalidProperty() {
    $trait = $this->getMockForTrait('Drupal\Core\Form\ConfigFormBaseTrait');
    $config_method = new \ReflectionMethod($trait, 'config');
    $testObject = new ConfiguredTrait();
    // There is no config factory available this should result in an exception.
    $this->expectException(\LogicException::class);
    $this->expectExceptionMessage('No config factory available for ConfigFormBaseTrait');
    $config_method->invoke($trait, 'editable.config');
    $config_method = new \ReflectionMethod($testObject, 'config');
    $config_method->invoke($testObject, 'editable.config');
    }
    }
    ......
    ......@@ -36,7 +36,11 @@ public function testChangeDatabasePrefix() {
    // Create a mock for testing the trait and set a few properties that are
    // used to avoid unnecessary set up.
    $test_setup = $this->getMockForTrait(TestSetupTrait::class);
    $test_setup = new class() {
    use TestSetupTrait;
    };
    $reflection = new \ReflectionClass($test_setup);
    $reflection->getProperty('databasePrefix')->setValue($test_setup, 'testDbPrefix');
    ......
    0% Loading or .
    You are about to add 0 people to the discussion. Proceed with caution.
    Finish editing this message first!
    Please register or to comment