function ComposerIntegrationTest::testVendorCleanup
Same name in other branches
- 10 core/tests/Drupal/Tests/ComposerIntegrationTest.php \Drupal\Tests\ComposerIntegrationTest::testVendorCleanup()
- 11.x core/tests/Drupal/Tests/ComposerIntegrationTest.php \Drupal\Tests\ComposerIntegrationTest::testVendorCleanup()
Tests the vendor cleanup utilities do not have obsolete packages listed.
@dataProvider providerTestVendorCleanup
File
-
core/
tests/ Drupal/ Tests/ ComposerIntegrationTest.php, line 259
Class
- ComposerIntegrationTest
- Tests Composer integration.
Namespace
Drupal\TestsCode
public function testVendorCleanup($class, $property) {
$lock = json_decode(file_get_contents($this->root . '/composer.lock'), TRUE);
$packages = [];
foreach (array_merge($lock['packages'], $lock['packages-dev']) as $package) {
$packages[] = $package['name'];
}
$reflection = new \ReflectionProperty($class, $property);
$reflection->setAccessible(TRUE);
$config = $reflection->getValue();
// PHPUnit 9.5.3 removes 'phpunit/php-token-stream' from its dependencies.
// @todo remove the check below when PHPUnit 9 is the minimum.
if (RunnerVersion::getMajor() >= 9) {
unset($config['phpunit/php-token-stream']);
}
foreach (array_keys($config) as $package) {
$this->assertContains(strtolower($package), $packages);
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.