function ComposerPluginsValidatorTestBase::providerSimpleInvalidCases

Generates simple invalid test cases.

Return value

\Generator The test cases.

1 call to ComposerPluginsValidatorTestBase::providerSimpleInvalidCases()
ComposerPluginsValidatorTestBase::providerComplexInvalidCases in core/modules/package_manager/tests/src/Kernel/ComposerPluginsValidatorTestBase.php
Generates complex invalid test cases based on the simple test cases.

File

core/modules/package_manager/tests/src/Kernel/ComposerPluginsValidatorTestBase.php, line 186

Class

ComposerPluginsValidatorTestBase
@internal

Namespace

Drupal\Tests\package_manager\Kernel

Code

public static function providerSimpleInvalidCases() : \Generator {
  yield 'one UNsupported composer plugin — pretty package name' => [
    [
      'allow-plugins.not-cweagans/not-composer-patches' => TRUE,
    ],
    [
      [
        'name' => 'not-cweagans/not-composer-patches',
        'require' => [
          'composer-plugin-api' => '*',
        ],
        'extra' => [
          'class' => 'AnyClass',
        ],
        'version' => '6.1',
        'type' => 'composer-plugin',
      ],
    ],
    [
      ValidationResult::createError([
        new TranslatableMarkup('<code>not-cweagans/not-composer-patches</code>'),
      ], new TranslatableMarkup('An unsupported Composer plugin was detected.')),
    ],
  ];
  yield 'one UNsupported composer plugin — normalized package name' => [
    [
      'allow-plugins.also-not-cweagans/also-not-composer-patches' => TRUE,
    ],
    [
      [
        'name' => 'also-not-cweagans/also-not-composer-patches',
        'version' => '20.1',
        'type' => 'composer-plugin',
        'require' => [
          'composer-plugin-api' => '*',
        ],
        'extra' => [
          'class' => 'AnyClass',
        ],
      ],
    ],
    [
      ValidationResult::createError([
        new TranslatableMarkup('<code>also-not-cweagans/also-not-composer-patches</code>'),
      ], new TranslatableMarkup('An unsupported Composer plugin was detected.')),
    ],
  ];
  yield 'one supported composer plugin but incompatible version — newer version' => [
    [
      'allow-plugins.phpstan/extension-installer' => TRUE,
    ],
    [
      [
        'name' => 'phpstan/extension-installer',
        'version' => '20.1',
        'type' => 'composer-plugin',
        'require' => [
          'composer-plugin-api' => '*',
        ],
        'extra' => [
          'class' => 'AnyClass',
        ],
      ],
    ],
    [
      ValidationResult::createError([
        new TranslatableMarkup('<code>phpstan/extension-installer</code> is supported, but only version <code>^1.1</code>, found <code>20.1</code>.'),
      ], new TranslatableMarkup('An unsupported Composer plugin was detected.')),
    ],
  ];
  yield 'one supported composer plugin but incompatible version — older version' => [
    [
      'allow-plugins.dealerdirect/phpcodesniffer-composer-installer' => TRUE,
    ],
    [
      [
        'name' => 'dealerdirect/phpcodesniffer-composer-installer',
        'version' => '0.6.1',
        'type' => 'composer-plugin',
        'require' => [
          'composer-plugin-api' => '*',
        ],
        'extra' => [
          'class' => 'AnyClass',
        ],
      ],
    ],
    [
      ValidationResult::createError([
        new TranslatableMarkup('<code>dealerdirect/phpcodesniffer-composer-installer</code> is supported, but only version <code>^0.7.1 || ^1.0.0</code>, found <code>0.6.1</code>.'),
      ], new TranslatableMarkup('An unsupported Composer plugin was detected.')),
    ],
  ];
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.