Skip to content

Commit

Permalink
ArrayLoader: assert that source/dist reference are string values (com…
Browse files Browse the repository at this point in the history
  • Loading branch information
glaubinix authored and emahorvat52 committed Jan 18, 2023
1 parent 1ef666f commit f107508
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 2 deletions.
4 changes: 2 additions & 2 deletions src/Composer/Package/Loader/ArrayLoader.php
Expand Up @@ -185,7 +185,7 @@ private function configureObject(PackageInterface $package, array $config): Base
}
$package->setSourceType($config['source']['type']);
$package->setSourceUrl($config['source']['url']);
$package->setSourceReference($config['source']['reference'] ?? null);
$package->setSourceReference(isset($config['source']['reference']) ? (string) $config['source']['reference'] : null);
if (isset($config['source']['mirrors'])) {
$package->setSourceMirrors($config['source']['mirrors']);
}
Expand All @@ -202,7 +202,7 @@ private function configureObject(PackageInterface $package, array $config): Base
}
$package->setDistType($config['dist']['type']);
$package->setDistUrl($config['dist']['url']);
$package->setDistReference($config['dist']['reference'] ?? null);
$package->setDistReference(isset($config['dist']['reference']) ? (string) $config['dist']['reference'] : null);
$package->setDistSha1Checksum($config['dist']['shasum'] ?? null);
if (isset($config['dist']['mirrors'])) {
$package->setDistMirrors($config['dist']['mirrors']);
Expand Down
22 changes: 22 additions & 0 deletions tests/Composer/Test/Package/Loader/ArrayLoaderTest.php
Expand Up @@ -325,4 +325,26 @@ public function testNoneStringVersion(): void
$package = $this->loader->load($config);
$this->assertSame('1', $package->getPrettyVersion());
}

public function testNoneStringSourceDistReference(): void
{
$config = array(
'name' => 'acme/package',
'version' => 'dev-main',
'source' => [
'type' => 'svn',
'url' => 'https://example.org/',
'reference' => 2019,
],
'dist' => [
'type' => 'zip',
'url' => 'https://example.org/',
'reference' => 2019,
],
);

$package = $this->loader->load($config);
$this->assertSame('2019', $package->getSourceReference());
$this->assertSame('2019', $package->getDistReference());
}
}

0 comments on commit f107508

Please sign in to comment.