Migrate everything to latest versions
Use newest symfony version, newest PHP and newest PHPUnit. Remove prophecy dependency.
This commit is contained in:
parent
5838745b96
commit
808da86d12
6 changed files with 678 additions and 1058 deletions
|
@ -30,7 +30,7 @@ Installation
|
||||||
|
|
||||||
Install requirements:
|
Install requirements:
|
||||||
|
|
||||||
* PHP 7.3 command line
|
* PHP 8.2 command line
|
||||||
|
|
||||||
* ffmpeg
|
* ffmpeg
|
||||||
|
|
||||||
|
|
|
@ -15,13 +15,11 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
"php": "7.3.*",
|
"php": "8.2.*",
|
||||||
"symfony/console": "^5.1",
|
"symfony/console": "^6.2",
|
||||||
"symfony/process": "^5.1"
|
"symfony/process": "^6.2"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"phpunit/phpunit": "^9.3",
|
"phpunit/phpunit": "^10.0"
|
||||||
"phpspec/prophecy": "^1.12",
|
|
||||||
"phpspec/prophecy-phpunit": "^2.0"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
1543
composer.lock
generated
1543
composer.lock
generated
File diff suppressed because it is too large
Load diff
|
@ -1,27 +1,23 @@
|
||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<phpunit
|
<phpunit
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.3/phpunit.xsd"
|
xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/10.0/phpunit.xsd"
|
||||||
backupGlobals="false"
|
backupGlobals="false"
|
||||||
backupStaticAttributes="false"
|
|
||||||
colors="true"
|
colors="true"
|
||||||
convertErrorsToExceptions="true"
|
|
||||||
convertWarningsToExceptions="true"
|
|
||||||
forceCoversAnnotation="false"
|
|
||||||
processIsolation="false"
|
processIsolation="false"
|
||||||
stopOnError="false"
|
stopOnError="false"
|
||||||
stopOnFailure="false"
|
stopOnFailure="false"
|
||||||
stopOnIncomplete="false"
|
stopOnIncomplete="false"
|
||||||
stopOnSkipped="false"
|
stopOnSkipped="false"
|
||||||
verbose="false"
|
cacheDirectory=".phpunit.cache"
|
||||||
|
backupStaticProperties="false"
|
||||||
|
requireCoverageMetadata="false"
|
||||||
>
|
>
|
||||||
|
|
||||||
<testsuites>
|
<testsuites>
|
||||||
<testsuite name="unit">
|
<testsuite name="unit">
|
||||||
<directory>tests/Unit/</directory>
|
<directory>tests/Unit/</directory>
|
||||||
</testsuite>
|
</testsuite>
|
||||||
</testsuites>
|
</testsuites>
|
||||||
|
|
||||||
<coverage>
|
<coverage>
|
||||||
<include>
|
<include>
|
||||||
<directory suffix=".php">src</directory>
|
<directory suffix=".php">src</directory>
|
||||||
|
|
|
@ -24,7 +24,6 @@ namespace DanielSiepmann\Videcutting\Tests\Unit;
|
||||||
use DanielSiepmann\Videcutting\Cutting;
|
use DanielSiepmann\Videcutting\Cutting;
|
||||||
use DanielSiepmann\Videcutting\VideoInfo;
|
use DanielSiepmann\Videcutting\VideoInfo;
|
||||||
use PHPUnit\Framework\TestCase;
|
use PHPUnit\Framework\TestCase;
|
||||||
use Prophecy\PhpUnit\ProphecyTrait;
|
|
||||||
use Symfony\Component\Process\Process;
|
use Symfony\Component\Process\Process;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -32,16 +31,14 @@ use Symfony\Component\Process\Process;
|
||||||
*/
|
*/
|
||||||
class CuttingTest extends TestCase
|
class CuttingTest extends TestCase
|
||||||
{
|
{
|
||||||
use ProphecyTrait;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @test
|
* @test
|
||||||
*/
|
*/
|
||||||
public function instanceCanBeCreated(): void
|
public function instanceCanBeCreated(): void
|
||||||
{
|
{
|
||||||
$video = $this->prophesize(VideoInfo::class);
|
$video = $this->createStub(VideoInfo::class);
|
||||||
$subject = new Cutting(
|
$subject = new Cutting(
|
||||||
$video->reveal()
|
$video
|
||||||
);
|
);
|
||||||
|
|
||||||
static::assertInstanceOf(Cutting::class, $subject);
|
static::assertInstanceOf(Cutting::class, $subject);
|
||||||
|
@ -52,15 +49,15 @@ class CuttingTest extends TestCase
|
||||||
*/
|
*/
|
||||||
public function generatesCommandsForCuttingWithoutAds(): void
|
public function generatesCommandsForCuttingWithoutAds(): void
|
||||||
{
|
{
|
||||||
$video = $this->prophesize(VideoInfo::class);
|
$video = $this->createStub(VideoInfo::class);
|
||||||
$video->getStart()->willReturn('10.05.20');
|
$video->method('getStart')->willReturn('10.05.20');
|
||||||
$video->getEnd()->willReturn('13.10.25');
|
$video->method('getEnd')->willReturn('13.10.25');
|
||||||
$video->getAds()->willReturn([]);
|
$video->method('getAds')->willReturn([]);
|
||||||
$video->getOriginalFilename()->willReturn('Some-Video.mp4');
|
$video->method('getOriginalFilename')->willReturn('Some-Video.mp4');
|
||||||
$video->getOriginalFilenameWithSuffix('cut-1')->willReturn('Some-Video-cut-1.mp4');
|
$video->method('getOriginalFilenameWithSuffix')->willReturn('Some-Video-cut-1.mp4');
|
||||||
|
|
||||||
$subject = new Cutting(
|
$subject = new Cutting(
|
||||||
$video->reveal()
|
$video
|
||||||
);
|
);
|
||||||
|
|
||||||
$commands = [];
|
$commands = [];
|
||||||
|
@ -70,7 +67,7 @@ class CuttingTest extends TestCase
|
||||||
|
|
||||||
static::assertCount(1, $commands);
|
static::assertCount(1, $commands);
|
||||||
static::assertSame(
|
static::assertSame(
|
||||||
"ffmpeg -y -ss '10.05.20' -to '13.10.25' -i 'Some-Video.mp4' -c copy '/tmp/Some-Video-cut-1.mp4'",
|
"ffmpeg -y -ss '10.05.20' -to '13.10.25' -i 'Some-Video.mp4' -c copy '" . sys_get_temp_dir() . "/Some-Video-cut-1.mp4'",
|
||||||
$commands[0]->getCommandLine()
|
$commands[0]->getCommandLine()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -80,20 +77,22 @@ class CuttingTest extends TestCase
|
||||||
*/
|
*/
|
||||||
public function generatesCommandsForCuttingWithAds(): void
|
public function generatesCommandsForCuttingWithAds(): void
|
||||||
{
|
{
|
||||||
$video = $this->prophesize(VideoInfo::class);
|
$video = $this->createStub(VideoInfo::class);
|
||||||
$video->getStart()->willReturn('1:05.20');
|
$video->method('getStart')->willReturn('1:05.20');
|
||||||
$video->getEnd()->willReturn('13:10.25');
|
$video->method('getEnd')->willReturn('13:10.25');
|
||||||
$video->getAds()->willReturn([
|
$video->method('getAds')->willReturn([
|
||||||
['2:10', '3:05'],
|
['2:10', '3:05'],
|
||||||
['10:07', '11:10'],
|
['10:07', '11:10'],
|
||||||
]);
|
]);
|
||||||
$video->getOriginalFilename()->willReturn('Some-Video.mp4');
|
$video->method('getOriginalFilename')->willReturn('Some-Video.mp4');
|
||||||
$video->getOriginalFilenameWithSuffix('cut-1')->willReturn('Some-Video-cut-1.mp4');
|
$video->method('getOriginalFilenameWithSuffix')->willReturnOnConsecutiveCalls(
|
||||||
$video->getOriginalFilenameWithSuffix('cut-2')->willReturn('Some-Video-cut-2.mp4');
|
'Some-Video-cut-1.mp4',
|
||||||
$video->getOriginalFilenameWithSuffix('cut-3')->willReturn('Some-Video-cut-3.mp4');
|
'Some-Video-cut-2.mp4',
|
||||||
|
'Some-Video-cut-3.mp4',
|
||||||
|
);
|
||||||
|
|
||||||
$subject = new Cutting(
|
$subject = new Cutting(
|
||||||
$video->reveal()
|
$video
|
||||||
);
|
);
|
||||||
|
|
||||||
$commands = [];
|
$commands = [];
|
||||||
|
@ -103,15 +102,15 @@ class CuttingTest extends TestCase
|
||||||
|
|
||||||
static::assertCount(3, $commands, 'Did not get expected number of cutting commands');
|
static::assertCount(3, $commands, 'Did not get expected number of cutting commands');
|
||||||
static::assertSame(
|
static::assertSame(
|
||||||
"ffmpeg -y -ss '1:05.20' -to '2:10' -i 'Some-Video.mp4' -c copy '/tmp/Some-Video-cut-1.mp4'",
|
"ffmpeg -y -ss '1:05.20' -to '2:10' -i 'Some-Video.mp4' -c copy '" . sys_get_temp_dir() . "/Some-Video-cut-1.mp4'",
|
||||||
$commands[0]->getCommandLine()
|
$commands[0]->getCommandLine()
|
||||||
);
|
);
|
||||||
static::assertSame(
|
static::assertSame(
|
||||||
"ffmpeg -y -ss '3:05' -to '10:07' -i 'Some-Video.mp4' -c copy '/tmp/Some-Video-cut-2.mp4'",
|
"ffmpeg -y -ss '3:05' -to '10:07' -i 'Some-Video.mp4' -c copy '" . sys_get_temp_dir() . "/Some-Video-cut-2.mp4'",
|
||||||
$commands[1]->getCommandLine()
|
$commands[1]->getCommandLine()
|
||||||
);
|
);
|
||||||
static::assertSame(
|
static::assertSame(
|
||||||
"ffmpeg -y -ss '11:10' -to '13:10.25' -i 'Some-Video.mp4' -c copy '/tmp/Some-Video-cut-3.mp4'",
|
"ffmpeg -y -ss '11:10' -to '13:10.25' -i 'Some-Video.mp4' -c copy '" . sys_get_temp_dir() . "/Some-Video-cut-3.mp4'",
|
||||||
$commands[2]->getCommandLine()
|
$commands[2]->getCommandLine()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -121,18 +120,18 @@ class CuttingTest extends TestCase
|
||||||
*/
|
*/
|
||||||
public function generatesCommandForGeneratingMetadata(): void
|
public function generatesCommandForGeneratingMetadata(): void
|
||||||
{
|
{
|
||||||
$video = $this->prophesize(VideoInfo::class);
|
$video = $this->createStub(VideoInfo::class);
|
||||||
$video->getOriginalFilename()->willReturn('Some-Video.mp4');
|
$video->method('getOriginalFilename')->willReturn('Some-Video.mp4');
|
||||||
$video->getOriginalFilenameWithSuffix('metadata')->willReturn('Some-Video-metadata.mp4');
|
$video->method('getOriginalFilenameWithSuffix')->willReturn('Some-Video-metadata.mp4');
|
||||||
|
|
||||||
$subject = new Cutting(
|
$subject = new Cutting(
|
||||||
$video->reveal()
|
$video
|
||||||
);
|
);
|
||||||
|
|
||||||
$command = $subject->getCommandForGeneratingMetadata();
|
$command = $subject->getCommandForGeneratingMetadata();
|
||||||
|
|
||||||
static::assertSame(
|
static::assertSame(
|
||||||
"ffmpeg -y -i 'Some-Video.mp4' -f ffmetadata '/tmp/Some-Video-metadata.txt'",
|
"ffmpeg -y -i 'Some-Video.mp4' -f ffmetadata '" . sys_get_temp_dir() . "/Some-Video-metadata.txt'",
|
||||||
$command->getCommandLine()
|
$command->getCommandLine()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -142,10 +141,10 @@ class CuttingTest extends TestCase
|
||||||
*/
|
*/
|
||||||
public function throwsExceptionForGeneratingConcatInputFileIfNoConcatIsAvailable(): void
|
public function throwsExceptionForGeneratingConcatInputFileIfNoConcatIsAvailable(): void
|
||||||
{
|
{
|
||||||
$video = $this->prophesize(VideoInfo::class);
|
$video = $this->createStub(VideoInfo::class);
|
||||||
|
|
||||||
$subject = new Cutting(
|
$subject = new Cutting(
|
||||||
$video->reveal()
|
$video
|
||||||
);
|
);
|
||||||
|
|
||||||
$this->expectException(\InvalidArgumentException::class);
|
$this->expectException(\InvalidArgumentException::class);
|
||||||
|
@ -160,16 +159,18 @@ class CuttingTest extends TestCase
|
||||||
*/
|
*/
|
||||||
public function generatesCommandsForGeneratingConcatInputFileWithNoAds(): void
|
public function generatesCommandsForGeneratingConcatInputFileWithNoAds(): void
|
||||||
{
|
{
|
||||||
$video = $this->prophesize(VideoInfo::class);
|
$video = $this->createStub(VideoInfo::class);
|
||||||
$video->getStart()->willReturn('10.05.20');
|
$video->method('getStart')->willReturn('10.05.20');
|
||||||
$video->getEnd()->willReturn('13.10.25');
|
$video->method('getEnd')->willReturn('13.10.25');
|
||||||
$video->getAds()->willReturn([]);
|
$video->method('getAds')->willReturn([]);
|
||||||
$video->getOriginalFilename()->willReturn('Some-Video.mp4');
|
$video->method('getOriginalFilename')->willReturn('Some-Video.mp4');
|
||||||
$video->getOriginalFilenameWithSuffix('cut-1')->willReturn('Some-Video-cut-1.mp4');
|
$video->method('getOriginalFilenameWithSuffix')->willReturnOnConsecutiveCalls(
|
||||||
$video->getOriginalFilenameWithSuffix('concat')->willReturn('Some-Video-concat.mp4');
|
'Some-Video-cut-1.mp4',
|
||||||
|
'Some-Video-concat.mp4'
|
||||||
|
);
|
||||||
|
|
||||||
$subject = new Cutting(
|
$subject = new Cutting(
|
||||||
$video->reveal()
|
$video
|
||||||
);
|
);
|
||||||
|
|
||||||
foreach ($subject->getCommandsForCutting() as $command) {
|
foreach ($subject->getCommandsForCutting() as $command) {
|
||||||
|
@ -179,7 +180,7 @@ class CuttingTest extends TestCase
|
||||||
$command = $subject->getCommandForGeneratingConcatInputFile();
|
$command = $subject->getCommandForGeneratingConcatInputFile();
|
||||||
|
|
||||||
static::assertSame(
|
static::assertSame(
|
||||||
"printf 'file /tmp/Some-Video-cut-1.mp4' > /tmp/Some-Video-concat.txt",
|
"printf 'file " . sys_get_temp_dir() . "/Some-Video-cut-1.mp4' > " . sys_get_temp_dir() . "/Some-Video-concat.txt",
|
||||||
$command->getCommandLine()
|
$command->getCommandLine()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -189,21 +190,23 @@ class CuttingTest extends TestCase
|
||||||
*/
|
*/
|
||||||
public function generatesCommandsForGeneratingConcatInputFileWithAds(): void
|
public function generatesCommandsForGeneratingConcatInputFileWithAds(): void
|
||||||
{
|
{
|
||||||
$video = $this->prophesize(VideoInfo::class);
|
$video = $this->createStub(VideoInfo::class);
|
||||||
$video->getStart()->willReturn('10.05.20');
|
$video->method('getStart')->willReturn('10.05.20');
|
||||||
$video->getEnd()->willReturn('13.10.25');
|
$video->method('getEnd')->willReturn('13.10.25');
|
||||||
$video->getAds()->willReturn([
|
$video->method('getAds')->willReturn([
|
||||||
['2:10', '3:05'],
|
['2:10', '3:05'],
|
||||||
['10:07', '11:10'],
|
['10:07', '11:10'],
|
||||||
]);
|
]);
|
||||||
$video->getOriginalFilename()->willReturn('Some-Video.mp4');
|
$video->method('getOriginalFilename')->willReturn('Some-Video.mp4');
|
||||||
$video->getOriginalFilenameWithSuffix('cut-1')->willReturn('Some-Video-cut-1.mp4');
|
$video->method('getOriginalFilenameWithSuffix')->willReturnOnConsecutiveCalls(
|
||||||
$video->getOriginalFilenameWithSuffix('cut-2')->willReturn('Some-Video-cut-2.mp4');
|
'Some-Video-cut-1.mp4',
|
||||||
$video->getOriginalFilenameWithSuffix('cut-3')->willReturn('Some-Video-cut-3.mp4');
|
'Some-Video-cut-2.mp4',
|
||||||
$video->getOriginalFilenameWithSuffix('concat')->willReturn('Some-Video-concat.mp4');
|
'Some-Video-cut-3.mp4',
|
||||||
|
'Some-Video-concat.mp4'
|
||||||
|
);
|
||||||
|
|
||||||
$subject = new Cutting(
|
$subject = new Cutting(
|
||||||
$video->reveal()
|
$video
|
||||||
);
|
);
|
||||||
|
|
||||||
foreach ($subject->getCommandsForCutting() as $command) {
|
foreach ($subject->getCommandsForCutting() as $command) {
|
||||||
|
@ -213,8 +216,8 @@ class CuttingTest extends TestCase
|
||||||
$command = $subject->getCommandForGeneratingConcatInputFile();
|
$command = $subject->getCommandForGeneratingConcatInputFile();
|
||||||
|
|
||||||
static::assertSame(
|
static::assertSame(
|
||||||
'printf \'file /tmp/Some-Video-cut-1.mp4\nfile /tmp/Some-Video-cut-2.mp4\nfile /tmp/Some-Video-cut-3.mp4\''
|
'printf \'file ' . sys_get_temp_dir() . '/Some-Video-cut-1.mp4\nfile ' . sys_get_temp_dir() . '/Some-Video-cut-2.mp4\nfile ' . sys_get_temp_dir() . '/Some-Video-cut-3.mp4\''
|
||||||
. ' > /tmp/Some-Video-concat.txt',
|
. ' > ' . sys_get_temp_dir() . '/Some-Video-concat.txt',
|
||||||
$command->getCommandLine()
|
$command->getCommandLine()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -224,21 +227,23 @@ class CuttingTest extends TestCase
|
||||||
*/
|
*/
|
||||||
public function generatesCommandForGeneratingVideoWithCustomTitle(): void
|
public function generatesCommandForGeneratingVideoWithCustomTitle(): void
|
||||||
{
|
{
|
||||||
$video = $this->prophesize(VideoInfo::class);
|
$video = $this->createStub(VideoInfo::class);
|
||||||
$video->getTargetFilePath()->willReturn('Series-Name/Series-01/10-episode title.mp4');
|
$video->method('getTargetFilePath')->willReturn('Series-Name/Series-01/10-episode title.mp4');
|
||||||
$video->getOriginalFilenameWithSuffix('concat')->willReturn('Series-Name_Series-01_episode-title-01-concat.mp4');
|
$video->method('getOriginalFilenameWithSuffix')->willReturnOnConsecutiveCalls(
|
||||||
$video->getOriginalFilenameWithSuffix('metadata')->willReturn('Series-Name_Series-01_episode-title-01-metadata.mp4');
|
'Series-Name_Series-01_episode-title-01-concat.mp4',
|
||||||
$video->getTitleForHumans()->willReturn('01 - Episode Title');
|
'Series-Name_Series-01_episode-title-01-metadata.mp4'
|
||||||
|
);
|
||||||
|
$video->method('getTitleForHumans')->willReturn('01 - Episode Title');
|
||||||
|
|
||||||
$subject = new Cutting(
|
$subject = new Cutting(
|
||||||
$video->reveal()
|
$video
|
||||||
);
|
);
|
||||||
|
|
||||||
$command = $subject->getCommandForGeneratingVideo();
|
$command = $subject->getCommandForGeneratingVideo();
|
||||||
|
|
||||||
static::assertSame(
|
static::assertSame(
|
||||||
'ffmpeg -y -f concat -safe 0 -i \'/tmp/Series-Name_Series-01_episode-title-01-concat.txt\' -c copy'
|
'ffmpeg -y -f concat -safe 0 -i \'' . sys_get_temp_dir() . '/Series-Name_Series-01_episode-title-01-concat.txt\' -c copy'
|
||||||
. ' -f ffmetadata -i \'/tmp/Series-Name_Series-01_episode-title-01-metadata.txt\' -c copy -map_metadata 1'
|
. ' -f ffmetadata -i \'' . sys_get_temp_dir() . '/Series-Name_Series-01_episode-title-01-metadata.txt\' -c copy -map_metadata 1'
|
||||||
. ' -metadata Title=\'01 - Episode Title\''
|
. ' -metadata Title=\'01 - Episode Title\''
|
||||||
. ' \'Series-Name/Series-01/10-episode title.mp4\'',
|
. ' \'Series-Name/Series-01/10-episode title.mp4\'',
|
||||||
$command->getCommandLine()
|
$command->getCommandLine()
|
||||||
|
@ -250,19 +255,21 @@ class CuttingTest extends TestCase
|
||||||
*/
|
*/
|
||||||
public function generatesCommandForCleanup(): void
|
public function generatesCommandForCleanup(): void
|
||||||
{
|
{
|
||||||
$video = $this->prophesize(VideoInfo::class);
|
$video = $this->createStub(VideoInfo::class);
|
||||||
$video->getTargetFilePath()->willReturn('Series-Name/Series-01/10-episode title.mp4');
|
$video->method('getTargetFilePath')->willReturn('Series-Name/Series-01/10-episode title.mp4');
|
||||||
$video->getOriginalFilenameWithSuffix('concat')->willReturn('Series-Name_Series-01_episode-title-01-concat.mp4');
|
$video->method('getOriginalFilenameWithSuffix')->willReturnOnConsecutiveCalls(
|
||||||
$video->getOriginalFilenameWithSuffix('metadata')->willReturn('Series-Name_Series-01_episode-title-01-metadata.mp4');
|
'Series-Name_Series-01_episode-title-01-concat.mp4',
|
||||||
|
'Series-Name_Series-01_episode-title-01-metadata.mp4'
|
||||||
|
);
|
||||||
|
|
||||||
$subject = new Cutting(
|
$subject = new Cutting(
|
||||||
$video->reveal()
|
$video
|
||||||
);
|
);
|
||||||
|
|
||||||
$command = $subject->getCommandForCleanup();
|
$command = $subject->getCommandForCleanup();
|
||||||
|
|
||||||
static::assertSame(
|
static::assertSame(
|
||||||
'rm \'/tmp/Series-Name_Series-01_episode-title-01-concat.txt\' \'/tmp/Series-Name_Series-01_episode-title-01-metadata.txt\'',
|
'rm \'' . sys_get_temp_dir() . '/Series-Name_Series-01_episode-title-01-concat.txt\' \'' . sys_get_temp_dir() . '/Series-Name_Series-01_episode-title-01-metadata.txt\'',
|
||||||
$command->getCommandLine()
|
$command->getCommandLine()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -272,18 +279,20 @@ class CuttingTest extends TestCase
|
||||||
*/
|
*/
|
||||||
public function generatesCommandForCleanupWithSingleTempFile(): void
|
public function generatesCommandForCleanupWithSingleTempFile(): void
|
||||||
{
|
{
|
||||||
$video = $this->prophesize(VideoInfo::class);
|
$video = $this->createStub(VideoInfo::class);
|
||||||
$video->getStart()->willReturn('10.05.20');
|
$video->method('getStart')->willReturn('10.05.20');
|
||||||
$video->getEnd()->willReturn('13.10.25');
|
$video->method('getEnd')->willReturn('13.10.25');
|
||||||
$video->getAds()->willReturn([]);
|
$video->method('getAds')->willReturn([]);
|
||||||
$video->getOriginalFilename()->willReturn('Some-Video.mp4');
|
$video->method('getOriginalFilename')->willReturn('Some-Video.mp4');
|
||||||
$video->getTargetFilePath()->willReturn('Series-Name/Series-01/10-episode title.mp4');
|
$video->method('getTargetFilePath')->willReturn('Series-Name/Series-01/10-episode title.mp4');
|
||||||
$video->getOriginalFilenameWithSuffix('cut-1')->willReturn('Some-Video-cut-1.mp4');
|
$video->method('getOriginalFilenameWithSuffix')->willReturnOnConsecutiveCalls(
|
||||||
$video->getOriginalFilenameWithSuffix('concat')->willReturn('Series-Name_Series-01_episode-title-01-concat.mp4');
|
'Some-Video-cut-1.mp4',
|
||||||
$video->getOriginalFilenameWithSuffix('metadata')->willReturn('Series-Name_Series-01_episode-title-01-metadata.mp4');
|
'Series-Name_Series-01_episode-title-01-concat.mp4',
|
||||||
|
'Series-Name_Series-01_episode-title-01-metadata.mp4'
|
||||||
|
);
|
||||||
|
|
||||||
$subject = new Cutting(
|
$subject = new Cutting(
|
||||||
$video->reveal()
|
$video
|
||||||
);
|
);
|
||||||
|
|
||||||
foreach ($subject->getCommandsForCutting() as $command) {
|
foreach ($subject->getCommandsForCutting() as $command) {
|
||||||
|
@ -293,7 +302,7 @@ class CuttingTest extends TestCase
|
||||||
$command = $subject->getCommandForCleanup();
|
$command = $subject->getCommandForCleanup();
|
||||||
|
|
||||||
static::assertSame(
|
static::assertSame(
|
||||||
'rm \'/tmp/Some-Video-cut-1.mp4\' \'/tmp/Series-Name_Series-01_episode-title-01-concat.txt\' \'/tmp/Series-Name_Series-01_episode-title-01-metadata.txt\'',
|
'rm \'' . sys_get_temp_dir() . '/Some-Video-cut-1.mp4\' \'' . sys_get_temp_dir() . '/Series-Name_Series-01_episode-title-01-concat.txt\' \'' . sys_get_temp_dir() . '/Series-Name_Series-01_episode-title-01-metadata.txt\'',
|
||||||
$command->getCommandLine()
|
$command->getCommandLine()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -190,7 +190,7 @@ class VideoInfoTest extends TestCase
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function possibleFilenames(): array
|
public static function possibleFilenames(): array
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
'Movie' => [
|
'Movie' => [
|
||||||
|
|
Loading…
Reference in a new issue