mirror of
https://github.com/composer/composer
synced 2025-05-09 00:22:53 +00:00
Merge branch '2.2' into main, update baseline (2085, 104)
This commit is contained in:
commit
615530f0a1
12 changed files with 167 additions and 26 deletions
|
@ -8,6 +8,7 @@ use Composer\Repository\Vcs\GitDriver;
|
|||
use Composer\Test\TestCase;
|
||||
use Composer\Util\Filesystem;
|
||||
use Composer\Util\Platform;
|
||||
use Composer\Test\Mock\ProcessExecutorMock;
|
||||
|
||||
class GitDriverTest extends TestCase
|
||||
{
|
||||
|
@ -132,6 +133,48 @@ GIT;
|
|||
$this->assertSame('main', $driver->getRootIdentifier());
|
||||
}
|
||||
|
||||
public function testGetBranchesFilterInvalidBranchNames(): void
|
||||
{
|
||||
$process = $this->getProcessExecutorMock();
|
||||
$io = $this->getMockBuilder('Composer\IO\IOInterface')->getMock();
|
||||
|
||||
$driver = new GitDriver(array('url' => 'https://example.org/acme.git'), $io, $this->config, $this->getMockBuilder('Composer\Util\HttpDownloader')->disableOriginalConstructor()->getMock(), $process);
|
||||
$this->setRepoDir($driver, $this->home);
|
||||
|
||||
// Branches starting with a - character are not valid git branches names
|
||||
// Still assert that they get filtered to prevent issues later on
|
||||
$stdout = <<<GIT
|
||||
* main 089681446ba44d6d9004350192486f2ceb4eaa06 commit
|
||||
2.2 12681446ba44d6d9004350192486f2ceb4eaa06 commit
|
||||
-h 089681446ba44d6d9004350192486f2ceb4eaa06 commit
|
||||
GIT;
|
||||
|
||||
$process
|
||||
->expects(array(array(
|
||||
'cmd' => 'git branch --no-color --no-abbrev -v',
|
||||
'stdout' => $stdout,
|
||||
)));
|
||||
|
||||
$branches = $driver->getBranches();
|
||||
$this->assertSame(array(
|
||||
'main' => '089681446ba44d6d9004350192486f2ceb4eaa06',
|
||||
'2.2' => '12681446ba44d6d9004350192486f2ceb4eaa06',
|
||||
), $branches);
|
||||
}
|
||||
|
||||
public function testFileGetContentInvalidIdentifier(): void
|
||||
{
|
||||
$this->expectException('\RuntimeException');
|
||||
|
||||
$process = $this->getProcessExecutorMock();
|
||||
$io = $this->getMockBuilder('Composer\IO\IOInterface')->getMock();
|
||||
$driver = new GitDriver(array('url' => 'https://example.org/acme.git'), $io, $this->config, $this->getMockBuilder('Composer\Util\HttpDownloader')->disableOriginalConstructor()->getMock(), $process);
|
||||
|
||||
$this->assertNull($driver->getFileContent('file.txt', 'h'));
|
||||
|
||||
$driver->getFileContent('file.txt', '-h');
|
||||
}
|
||||
|
||||
private function setRepoDir(GitDriver $driver, string $path): void
|
||||
{
|
||||
$reflectionClass = new \ReflectionClass($driver);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue