class ConfigTest
@coversDefaultClass Drupal\Composer\Plugin\VendorHardening\Config
      
    
@group VendorHardening
Hierarchy
- class \Drupal\Tests\Composer\Plugin\VendorHardening\ConfigTest uses \Drupal\Tests\Traits\PhpUnitWarnings extends \PHPUnit\Framework\TestCase
Expanded class hierarchy of ConfigTest
File
- 
              core/tests/ Drupal/ Tests/ Composer/ Plugin/ VendorHardening/ ConfigTest.php, line 14 
Namespace
Drupal\Tests\Composer\Plugin\VendorHardeningView source
class ConfigTest extends TestCase {
  use PhpUnitWarnings;
  
  /**
   * @covers ::getPathsForPackage
   */
  public function testGetPathsForPackageMixedCase() {
    $config = $this->getMockBuilder(Config::class)
      ->onlyMethods([
      'getAllCleanupPaths',
    ])
      ->disableOriginalConstructor()
      ->getMock();
    $config->expects($this->once())
      ->method('getAllCleanupPaths')
      ->willReturn([
      'package' => [
        'path',
      ],
    ]);
    $this->assertSame([
      'path',
    ], $config->getPathsForPackage('pACKage'));
  }
  
  /**
   * @covers ::getAllCleanupPaths
   */
  public function testNoRootMergeConfig() {
    // Root package has no extra field.
    $root = $this->getMockBuilder(RootPackageInterface::class)
      ->onlyMethods([
      'getExtra',
    ])
      ->getMockForAbstractClass();
    $root->expects($this->once())
      ->method('getExtra')
      ->willReturn([]);
    $config = new Config($root);
    $ref_default = new \ReflectionProperty($config, 'defaultConfig');
    $ref_default->setAccessible(TRUE);
    $ref_plugin_config = new \ReflectionMethod($config, 'getAllCleanupPaths');
    $ref_plugin_config->setAccessible(TRUE);
    $this->assertEquals($ref_default->getValue($config), $ref_plugin_config->invoke($config));
  }
  
  /**
   * @covers ::getAllCleanupPaths
   */
  public function testRootMergeConfig() {
    // Root package has configuration in extra.
    $root = $this->getMockBuilder(RootPackageInterface::class)
      ->onlyMethods([
      'getExtra',
    ])
      ->getMockForAbstractClass();
    $root->expects($this->once())
      ->method('getExtra')
      ->willReturn([
      'drupal-core-vendor-hardening' => [
        'isa/string' => 'test_dir',
        'an/array' => [
          'test_dir',
          'doc_dir',
        ],
      ],
    ]);
    $config = new Config($root);
    $ref_plugin_config = new \ReflectionMethod($config, 'getAllCleanupPaths');
    $ref_plugin_config->setAccessible(TRUE);
    $plugin_config = $ref_plugin_config->invoke($config);
    $this->assertSame([
      'test_dir',
    ], $plugin_config['isa/string']);
    $this->assertSame([
      'test_dir',
      'doc_dir',
    ], $plugin_config['an/array']);
  }
  
  /**
   * @covers ::getAllCleanupPaths
   */
  public function testMixedCaseConfigCleanupPackages() {
    // Root package has configuration in extra.
    $root = $this->getMockBuilder(RootPackageInterface::class)
      ->onlyMethods([
      'getExtra',
    ])
      ->getMockForAbstractClass();
    $root->expects($this->once())
      ->method('getExtra')
      ->willReturn([
      'drupal-core-vendor-hardening' => [
        'NotMikey179/vfsStream' => [
          'src/test',
        ],
      ],
    ]);
    $config = new Config($root);
    $ref_plugin_config = new \ReflectionMethod($config, 'getAllCleanupPaths');
    $ref_plugin_config->setAccessible(TRUE);
    // Put some mixed-case in the defaults.
    $ref_default = new \ReflectionProperty($config, 'defaultConfig');
    $ref_default->setAccessible(TRUE);
    $ref_default->setValue($config, [
      'BeHatted/Mank' => [
        'tests',
      ],
      'SymFunic/HTTPFoundational' => [
        'src',
      ],
    ]);
    $plugin_config = $ref_plugin_config->invoke($config);
    foreach (array_keys($plugin_config) as $package_name) {
      $this->assertDoesNotMatchRegularExpression('/[A-Z]/', $package_name);
    }
  }
}Members
| Title Sort descending | Modifiers | Object type | Summary | 
|---|---|---|---|
| ConfigTest::testGetPathsForPackageMixedCase | public | function | @covers ::getPathsForPackage[[api-linebreak]] | 
| ConfigTest::testMixedCaseConfigCleanupPackages | public | function | @covers ::getAllCleanupPaths[[api-linebreak]] | 
| ConfigTest::testNoRootMergeConfig | public | function | @covers ::getAllCleanupPaths[[api-linebreak]] | 
| ConfigTest::testRootMergeConfig | public | function | @covers ::getAllCleanupPaths[[api-linebreak]] | 
| PhpUnitWarnings::$deprecationWarnings | private static | property | Deprecation warnings from PHPUnit to raise with @trigger_error(). | 
| PhpUnitWarnings::addWarning | public | function | Converts PHPUnit deprecation warnings to E_USER_DEPRECATED. | 
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.
