/
FingerprintTaskWithAFingerprintAndForceTest.php
35 lines (27 loc) 路 1.52 KB
/
FingerprintTaskWithAFingerprintAndForceTest.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
<?php
namespace Castor\Tests\Examples\Fingerprint;
class FingerprintTaskWithAFingerprintAndForceTest extends FingerprintedTestCase
{
// fingerprint:task-with-a-fingerprint-and-force
public function test(): void
{
$filepath = \dirname(__DIR__, 3) . '/examples/fingerprint_file.fingerprint_single';
if (file_exists($filepath)) {
unlink($filepath);
}
file_put_contents($filepath, 'Hello');
$processFirstRun = $this->runTask(['fingerprint:task-with-a-fingerprint-and-force']);
$processSecondRun = $this->runTask(['fingerprint:task-with-a-fingerprint-and-force', '--force']);
$processThirdRun = $this->runTask(['fingerprint:task-with-a-fingerprint-and-force']);
self::assertStringEqualsFile(__FILE__ . '.output_runnable.txt', $processFirstRun->getOutput());
self::assertStringEqualsFile(__FILE__ . '.output_runnable.txt', $processSecondRun->getOutput());
self::assertStringEqualsFile(__FILE__ . '.output_not_runnable.txt', $processThirdRun->getOutput());
file_put_contents($filepath, 'Hello World');
// If we don't force, it should re-run the task
$processFourthRun = $this->runTask(['fingerprint:task-with-a-fingerprint-and-force']);
self::assertStringEqualsFile(__FILE__ . '.output_runnable.txt', $processFourthRun->getOutput());
foreach ([$processFirstRun, $processSecondRun, $processThirdRun, $processFourthRun] as $process) {
$this->assertSame(0, $process->getExitCode());
}
}
}