function ComposerInspectorTest::testConfig
@covers ::getConfig
File
-
core/
modules/ package_manager/ tests/ src/ Kernel/ ComposerInspectorTest.php, line 38
Class
- ComposerInspectorTest
- @coversDefaultClass \Drupal\package_manager\ComposerInspector
Namespace
Drupal\Tests\package_manager\KernelCode
public function testConfig() : void {
$dir = $this->container
->get(PathLocator::class)
->getProjectRoot();
$inspector = $this->container
->get(ComposerInspector::class);
$this->assertTrue((bool) Json::decode($inspector->getConfig('secure-http', $dir)));
$this->assertSame([
'boo' => 'boo boo',
"foo" => [
"dev" => "2.x-dev",
],
"foo-bar" => TRUE,
"boo-far" => [
"foo" => 1.23,
"bar" => 134,
"foo-bar" => NULL,
],
'baz' => NULL,
'installer-paths' => [
'modules/contrib/{$name}' => [
'type:drupal-module',
],
'profiles/contrib/{$name}' => [
'type:drupal-profile',
],
'themes/contrib/{$name}' => [
'type:drupal-theme',
],
],
], Json::decode($inspector->getConfig('extra', $dir)));
try {
$inspector->getConfig('non-existent-config', $dir);
$this->fail('Expected an exception when trying to get a non-existent config key, but none was thrown.');
} catch (RuntimeException) {
// We don't need to do anything here.
}
// If composer.json is removed, we should get an exception because
// getConfig() should validate that $dir is Composer-ready.
unlink($dir . '/composer.json');
$this->expectExceptionMessage("composer.json not found.");
$inspector->getConfig('extra', $dir);
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.