MailManagerTest::testGetInstance() is buggy

Created on 26 April 2021, about 3 years ago
Updated 30 January 2023, over 1 year ago

Problem/Motivation

Detected via PHPstan in #3178534: Start running PHPStan on Drupal core (level 0) β†’

MailManagerTest::testGetInstance() declares the same array key twice:

    $interface = [
      'default' => 'php_mail',
      'default' => 'test_mail_collector',
    ];

This is not caught by the first assertion:

    $options = ['module' => 'foo', 'key' => 'bar'];
    $instance = $this->mailManager->getInstance($options);
    $this->assertInstanceOf('Drupal\Core\Mail\Plugin\Mail\PhpMail', $instance);

This is because TestMailCollector extends PhpMail, so although this class is a TestMailCollector it passes this check anyway.

Steps to reproduce

Proposed resolution

Add assertNotInstanceOf() to prove that the test is buggy.
Fix the duplicate array key.

Remaining tasks

User interface changes

API changes

Data model changes

Release notes snippet

πŸ› Bug report
Status

Needs work

Version

10.1 ✨

Component
MailΒ  β†’

Last updated 1 day ago

No maintainer
Created by

πŸ‡¬πŸ‡§United Kingdom longwave UK

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

Not all content is available!

It's likely this issue predates Contrib.social: some issue and comment data are missing.

  • The Needs Review Queue Bot β†’ tested this issue. It either no longer applies to Drupal core, or fails the Drupal core commit checks. Therefore, this issue status is now "Needs work".

    Apart from a re-roll or rebase, this issue may need more work to address feedback in the issue or MR comments. To progress an issue, incorporate this feedback as part of the process of updating the issue. This helps other contributors to know what is outstanding.

    Consult the Drupal Contributor Guide β†’ to find step-by-step guides for working with issues.

Production build 0.69.0 2024