Upgrade tests to PhpUnit 10 (#5252)
This commit is contained in:
@@ -21,17 +21,20 @@ class DebugRendererTest extends TestCase
|
||||
{
|
||||
use RendererTestTrait;
|
||||
|
||||
public function getTestModel()
|
||||
public static function getTestModel()
|
||||
{
|
||||
yield [$this->getInvoiceModel(), '1,947.99', 5, 5, 1, 2, 2, true, [['entry.meta.foo-timesheet'], ['entry.meta.foo-timesheet', 'entry.meta.foo-timesheet2'], ['entry.meta.foo-timesheet'], ['entry.meta.foo-timesheet3']]];
|
||||
yield [$this->getInvoiceModelOneEntry(), '293.27', 1, 1, 0, 1, 0, false, []];
|
||||
yield [static fn (self $testCase) => $testCase->getInvoiceModel(), '1,947.99', 5, 5, 1, 2, 2, true, [['entry.meta.foo-timesheet'], ['entry.meta.foo-timesheet', 'entry.meta.foo-timesheet2'], ['entry.meta.foo-timesheet'], ['entry.meta.foo-timesheet3']]];
|
||||
yield [static fn (self $testCase) => $testCase->getInvoiceModelOneEntry(), '293.27', 1, 1, 0, 1, 0, false, []];
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider getTestModel
|
||||
*/
|
||||
public function testRender(InvoiceModel $model, $expectedRate, $expectedRows, $expectedDescriptions, $expectedUser1, $expectedUser2, $expectedUser3, $hasProject, $metaFields = []): void
|
||||
public function testRender(callable $invoiceModel, $expectedRate, $expectedRows, $expectedDescriptions, $expectedUser1, $expectedUser2, $expectedUser3, $hasProject, $metaFields = []): void
|
||||
{
|
||||
/** @var InvoiceModel $model */
|
||||
$model = $invoiceModel($this);
|
||||
|
||||
$itemHydrator = new class() implements InvoiceItemHydrator {
|
||||
public function setInvoiceModel(InvoiceModel $model): void
|
||||
{
|
||||
@@ -58,12 +61,12 @@ class DebugRendererTest extends TestCase
|
||||
$response = $sut->render($document, $model);
|
||||
$data = json_decode($response->getContent(), true);
|
||||
|
||||
$this->assertIsArray($data);
|
||||
$this->assertIsArray($data['model']);
|
||||
self::assertIsArray($data);
|
||||
self::assertIsArray($data['model']);
|
||||
|
||||
$this->assertModelStructure($data['model'], \count($model->getQuery()->getProjects()), \count($model->getQuery()->getActivities()));
|
||||
$rows = $data['entries'];
|
||||
$this->assertEquals($expectedRows, \count($rows));
|
||||
self::assertEquals($expectedRows, \count($rows));
|
||||
|
||||
$i = 0;
|
||||
foreach ($rows as $row) {
|
||||
@@ -257,7 +260,7 @@ class DebugRendererTest extends TestCase
|
||||
sort($keys);
|
||||
sort($givenKeys);
|
||||
|
||||
$this->assertEquals($keys, $givenKeys);
|
||||
self::assertEquals($keys, $givenKeys);
|
||||
}
|
||||
|
||||
protected function assertEntryStructure(array $model, array $metaFields): void
|
||||
@@ -316,7 +319,7 @@ class DebugRendererTest extends TestCase
|
||||
$keys = array_merge($keys, $metaFields);
|
||||
|
||||
foreach ($keys as $key) {
|
||||
$this->assertArrayHasKey($key, $model);
|
||||
self::assertArrayHasKey($key, $model);
|
||||
}
|
||||
|
||||
$expectedKeys = array_merge([], $keys);
|
||||
@@ -324,7 +327,7 @@ class DebugRendererTest extends TestCase
|
||||
$givenKeys = array_keys($model);
|
||||
sort($givenKeys);
|
||||
|
||||
$this->assertEquals($expectedKeys, $givenKeys);
|
||||
$this->assertEquals(\count($keys), \count($givenKeys));
|
||||
self::assertEquals($expectedKeys, $givenKeys);
|
||||
self::assertEquals(\count($keys), \count($givenKeys));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,12 +26,12 @@ class DocxRendererTest extends TestCase
|
||||
{
|
||||
$sut = $this->getAbstractRenderer(DocxRenderer::class);
|
||||
|
||||
$this->assertFalse($sut->supports($this->getInvoiceDocument('invoice.html.twig')));
|
||||
$this->assertFalse($sut->supports($this->getInvoiceDocument('service-date.pdf.twig')));
|
||||
$this->assertFalse($sut->supports($this->getInvoiceDocument('timesheet.html.twig')));
|
||||
$this->assertTrue($sut->supports($this->getInvoiceDocument('company.docx', true)));
|
||||
$this->assertFalse($sut->supports($this->getInvoiceDocument('spreadsheet.xlsx', true)));
|
||||
$this->assertFalse($sut->supports($this->getInvoiceDocument('open-spreadsheet.ods', true)));
|
||||
self::assertFalse($sut->supports($this->getInvoiceDocument('invoice.html.twig')));
|
||||
self::assertFalse($sut->supports($this->getInvoiceDocument('service-date.pdf.twig')));
|
||||
self::assertFalse($sut->supports($this->getInvoiceDocument('timesheet.html.twig')));
|
||||
self::assertTrue($sut->supports($this->getInvoiceDocument('company.docx', true)));
|
||||
self::assertFalse($sut->supports($this->getInvoiceDocument('spreadsheet.xlsx', true)));
|
||||
self::assertFalse($sut->supports($this->getInvoiceDocument('open-spreadsheet.ods', true)));
|
||||
}
|
||||
|
||||
public function testRender(): void
|
||||
@@ -45,16 +45,16 @@ class DocxRendererTest extends TestCase
|
||||
|
||||
$filename = $model->getInvoiceNumber() . '-customer_with_special_name.docx';
|
||||
$file = $response->getFile();
|
||||
$this->assertEquals('application/vnd.openxmlformats-officedocument.wordprocessingml.document', $response->headers->get('Content-Type'));
|
||||
$this->assertEquals('attachment; filename=' . $filename, $response->headers->get('Content-Disposition'));
|
||||
self::assertEquals('application/vnd.openxmlformats-officedocument.wordprocessingml.document', $response->headers->get('Content-Type'));
|
||||
self::assertEquals('attachment; filename=' . $filename, $response->headers->get('Content-Disposition'));
|
||||
|
||||
$this->assertTrue(file_exists($file->getPathname()));
|
||||
self::assertTrue(file_exists($file->getPathname()));
|
||||
|
||||
ob_start();
|
||||
$response->sendContent();
|
||||
$content2 = ob_get_clean();
|
||||
$this->assertNotEmpty($content2);
|
||||
self::assertNotEmpty($content2);
|
||||
|
||||
$this->assertFalse(file_exists($file->getRealPath()));
|
||||
self::assertFalse(file_exists($file->getRealPath()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,25 +28,28 @@ class OdsRendererTest extends TestCase
|
||||
{
|
||||
$sut = $this->getAbstractRenderer(OdsRenderer::class);
|
||||
|
||||
$this->assertFalse($sut->supports($this->getInvoiceDocument('invoice.html.twig')));
|
||||
$this->assertFalse($sut->supports($this->getInvoiceDocument('service-date.pdf.twig')));
|
||||
$this->assertFalse($sut->supports($this->getInvoiceDocument('timesheet.html.twig')));
|
||||
$this->assertFalse($sut->supports($this->getInvoiceDocument('company.docx', true)));
|
||||
$this->assertFalse($sut->supports($this->getInvoiceDocument('spreadsheet.xlsx', true)));
|
||||
$this->assertTrue($sut->supports($this->getInvoiceDocument('open-spreadsheet.ods', true)));
|
||||
self::assertFalse($sut->supports($this->getInvoiceDocument('invoice.html.twig')));
|
||||
self::assertFalse($sut->supports($this->getInvoiceDocument('service-date.pdf.twig')));
|
||||
self::assertFalse($sut->supports($this->getInvoiceDocument('timesheet.html.twig')));
|
||||
self::assertFalse($sut->supports($this->getInvoiceDocument('company.docx', true)));
|
||||
self::assertFalse($sut->supports($this->getInvoiceDocument('spreadsheet.xlsx', true)));
|
||||
self::assertTrue($sut->supports($this->getInvoiceDocument('open-spreadsheet.ods', true)));
|
||||
}
|
||||
|
||||
public function getTestModel()
|
||||
public static function getTestModel()
|
||||
{
|
||||
yield [$this->getInvoiceModel(), '1,947.99', 6, 5, 1, 2, 2];
|
||||
yield [$this->getInvoiceModelOneEntry(), '293.27', 2, 1, 0, 1, 0];
|
||||
yield [static fn (self $testCase) => $testCase->getInvoiceModel(), '1,947.99', 6, 5, 1, 2, 2];
|
||||
yield [static fn (self $testCase) => $testCase->getInvoiceModelOneEntry(), '293.27', 2, 1, 0, 1, 0];
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider getTestModel
|
||||
*/
|
||||
public function testRender(InvoiceModel $model, $expectedRate, $expectedRows, $expectedDescriptions, $expectedUser1, $expectedUser2, $expectedUser3): void
|
||||
public function testRender(callable $invoiceModel, $expectedRate, $expectedRows, $expectedDescriptions, $expectedUser1, $expectedUser2, $expectedUser3): void
|
||||
{
|
||||
/** @var InvoiceModel $model */
|
||||
$model = $invoiceModel($this); // FIXME
|
||||
|
||||
/** @var OdsRenderer $sut */
|
||||
$sut = $this->getAbstractRenderer(OdsRenderer::class);
|
||||
$model = $this->getInvoiceModel();
|
||||
@@ -56,28 +59,28 @@ class OdsRendererTest extends TestCase
|
||||
|
||||
$filename = $model->getInvoiceNumber() . '-customer_with_special_name.ods';
|
||||
$file = $response->getFile();
|
||||
$this->assertEquals('application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', $response->headers->get('Content-Type'));
|
||||
$this->assertEquals('attachment; filename=' . $filename, $response->headers->get('Content-Disposition'));
|
||||
self::assertEquals('application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', $response->headers->get('Content-Type'));
|
||||
self::assertEquals('attachment; filename=' . $filename, $response->headers->get('Content-Disposition'));
|
||||
|
||||
$this->assertTrue(file_exists($file->getRealPath()));
|
||||
self::assertTrue(file_exists($file->getRealPath()));
|
||||
|
||||
// TODO test spreadsheet content?
|
||||
/*
|
||||
$content = file_get_contents($file->getRealPath());
|
||||
$this->assertNotContains('${', $content);
|
||||
$this->assertStringContainsString(',"1,947.99" ', $content);
|
||||
$this->assertEquals(6, substr_count($content, PHP_EOL));
|
||||
$this->assertEquals(5, substr_count($content, 'activity description'));
|
||||
$this->assertEquals(1, substr_count($content, ',"kevin",'));
|
||||
$this->assertEquals(2, substr_count($content, ',"hello-world",'));
|
||||
$this->assertEquals(2, substr_count($content, ',"foo-bar",'));
|
||||
self::assertNotContains('${', $content);
|
||||
self::assertStringContainsString(',"1,947.99" ', $content);
|
||||
self::assertEquals(6, substr_count($content, PHP_EOL));
|
||||
self::assertEquals(5, substr_count($content, 'activity description'));
|
||||
self::assertEquals(1, substr_count($content, ',"kevin",'));
|
||||
self::assertEquals(2, substr_count($content, ',"hello-world",'));
|
||||
self::assertEquals(2, substr_count($content, ',"foo-bar",'));
|
||||
*/
|
||||
|
||||
ob_start();
|
||||
$response->sendContent();
|
||||
$content2 = ob_get_clean();
|
||||
$this->assertNotEmpty($content2);
|
||||
self::assertNotEmpty($content2);
|
||||
|
||||
$this->assertFalse(file_exists($file->getRealPath()));
|
||||
self::assertFalse(file_exists($file->getRealPath()));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -34,12 +34,12 @@ class PdfRendererTest extends KernelTestCase
|
||||
{
|
||||
$env = new Environment(new ArrayLoader([]));
|
||||
$sut = new PdfRenderer($env, $this->createMock(HtmlToPdfConverter::class));
|
||||
$this->assertTrue($sut->supports($this->getInvoiceDocument('default.pdf.twig', true)));
|
||||
$this->assertTrue($sut->supports($this->getInvoiceDocument('service-date.pdf.twig')));
|
||||
$this->assertFalse($sut->supports($this->getInvoiceDocument('timesheet.html.twig')));
|
||||
$this->assertFalse($sut->supports($this->getInvoiceDocument('company.docx', true)));
|
||||
$this->assertFalse($sut->supports($this->getInvoiceDocument('spreadsheet.xlsx', true)));
|
||||
$this->assertFalse($sut->supports($this->getInvoiceDocument('open-spreadsheet.ods', true)));
|
||||
self::assertTrue($sut->supports($this->getInvoiceDocument('default.pdf.twig', true)));
|
||||
self::assertTrue($sut->supports($this->getInvoiceDocument('service-date.pdf.twig')));
|
||||
self::assertFalse($sut->supports($this->getInvoiceDocument('timesheet.html.twig')));
|
||||
self::assertFalse($sut->supports($this->getInvoiceDocument('company.docx', true)));
|
||||
self::assertFalse($sut->supports($this->getInvoiceDocument('spreadsheet.xlsx', true)));
|
||||
self::assertFalse($sut->supports($this->getInvoiceDocument('open-spreadsheet.ods', true)));
|
||||
}
|
||||
|
||||
public function testRenderAttachment(): void
|
||||
@@ -64,9 +64,9 @@ class PdfRendererTest extends KernelTestCase
|
||||
$document = $this->getInvoiceDocument('default.pdf.twig', true);
|
||||
|
||||
$response = $sut->render($document, $model);
|
||||
$this->assertEquals('application/pdf', $response->headers->get('Content-Type'));
|
||||
$this->assertStringContainsString('attachment; filename', $response->headers->get('Content-Disposition'));
|
||||
$this->assertNotEmpty($response->getContent());
|
||||
self::assertEquals('application/pdf', $response->headers->get('Content-Type'));
|
||||
self::assertStringContainsString('attachment; filename', $response->headers->get('Content-Disposition'));
|
||||
self::assertNotEmpty($response->getContent());
|
||||
}
|
||||
|
||||
public function testRenderInline(): void
|
||||
@@ -93,8 +93,8 @@ class PdfRendererTest extends KernelTestCase
|
||||
|
||||
$sut->setDispositionInline(true);
|
||||
$response = $sut->render($document, $model);
|
||||
$this->assertStringContainsString('inline; filename', $response->headers->get('Content-Disposition'));
|
||||
$this->assertNotEmpty($response->getContent());
|
||||
self::assertStringContainsString('inline; filename', $response->headers->get('Content-Disposition'));
|
||||
self::assertNotEmpty($response->getContent());
|
||||
}
|
||||
|
||||
public function testRenderAll(): void
|
||||
@@ -142,9 +142,9 @@ class PdfRendererTest extends KernelTestCase
|
||||
$document = new InvoiceDocument(new \SplFileInfo($filename));
|
||||
|
||||
$response = $sut->render($document, $model);
|
||||
$this->assertEquals('application/pdf', $response->headers->get('Content-Type'));
|
||||
$this->assertStringContainsString('attachment; filename', $response->headers->get('Content-Disposition'));
|
||||
$this->assertNotEmpty($response->getContent());
|
||||
self::assertEquals('application/pdf', $response->headers->get('Content-Type'));
|
||||
self::assertStringContainsString('attachment; filename', $response->headers->get('Content-Disposition'));
|
||||
self::assertNotEmpty($response->getContent());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,12 +32,12 @@ class TwigRendererTest extends KernelTestCase
|
||||
$env = new Environment($loader);
|
||||
$sut = new TwigRenderer($env);
|
||||
|
||||
$this->assertTrue($sut->supports($this->getInvoiceDocument('invoice.html.twig')));
|
||||
$this->assertTrue($sut->supports($this->getInvoiceDocument('timesheet.html.twig')));
|
||||
$this->assertFalse($sut->supports($this->getInvoiceDocument('service-date.pdf.twig')));
|
||||
$this->assertFalse($sut->supports($this->getInvoiceDocument('company.docx', true)));
|
||||
$this->assertFalse($sut->supports($this->getInvoiceDocument('spreadsheet.xlsx', true)));
|
||||
$this->assertFalse($sut->supports($this->getInvoiceDocument('open-spreadsheet.ods', true)));
|
||||
self::assertTrue($sut->supports($this->getInvoiceDocument('invoice.html.twig')));
|
||||
self::assertTrue($sut->supports($this->getInvoiceDocument('timesheet.html.twig')));
|
||||
self::assertFalse($sut->supports($this->getInvoiceDocument('service-date.pdf.twig')));
|
||||
self::assertFalse($sut->supports($this->getInvoiceDocument('company.docx', true)));
|
||||
self::assertFalse($sut->supports($this->getInvoiceDocument('spreadsheet.xlsx', true)));
|
||||
self::assertFalse($sut->supports($this->getInvoiceDocument('open-spreadsheet.ods', true)));
|
||||
}
|
||||
|
||||
public function testRender(): void
|
||||
@@ -66,12 +66,12 @@ class TwigRendererTest extends KernelTestCase
|
||||
$content = $response->getContent();
|
||||
|
||||
$filename = $model->getInvoiceNumber() . '-customer_with_special_name';
|
||||
$this->assertStringContainsString('<title>' . $filename . '</title>', $content);
|
||||
$this->assertStringContainsString('<span contenteditable="true">a very *long* test invoice / template title with [ßpecial] chäracter</span>', $content);
|
||||
self::assertStringContainsString('<title>' . $filename . '</title>', $content);
|
||||
self::assertStringContainsString('<span contenteditable="true">a very *long* test invoice / template title with [ßpecial] chäracter</span>', $content);
|
||||
// 3 timesheets have a description and therefor do not render the activity
|
||||
// 2 timesheets have no description and the correct activity assigned
|
||||
$this->assertEquals(2, substr_count($content, 'activity description'));
|
||||
$this->assertStringContainsString(nl2br("foo\n" .
|
||||
self::assertEquals(2, substr_count($content, 'activity description'));
|
||||
self::assertStringContainsString(nl2br("foo\n" .
|
||||
"foo\r\n" .
|
||||
'foo' . PHP_EOL .
|
||||
"bar\n" .
|
||||
@@ -123,8 +123,8 @@ class TwigRendererTest extends KernelTestCase
|
||||
$document = new InvoiceDocument(new \SplFileInfo($filename));
|
||||
|
||||
$response = $sut->render($document, $model);
|
||||
$this->assertEquals('text/html; charset=UTF-8', $response->headers->get('Content-Type'));
|
||||
$this->assertNotEmpty($response->getContent());
|
||||
self::assertEquals('text/html; charset=UTF-8', $response->headers->get('Content-Type'));
|
||||
self::assertNotEmpty($response->getContent());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,25 +29,28 @@ class XlsxRendererTest extends TestCase
|
||||
{
|
||||
$sut = $this->getAbstractRenderer(XlsxRenderer::class);
|
||||
|
||||
$this->assertFalse($sut->supports($this->getInvoiceDocument('invoice.html.twig')));
|
||||
$this->assertFalse($sut->supports($this->getInvoiceDocument('service-date.pdf.twig')));
|
||||
$this->assertFalse($sut->supports($this->getInvoiceDocument('timesheet.html.twig')));
|
||||
$this->assertFalse($sut->supports($this->getInvoiceDocument('company.docx', true)));
|
||||
$this->assertTrue($sut->supports($this->getInvoiceDocument('spreadsheet.xlsx', true)));
|
||||
$this->assertFalse($sut->supports($this->getInvoiceDocument('open-spreadsheet.ods', true)));
|
||||
self::assertFalse($sut->supports($this->getInvoiceDocument('invoice.html.twig')));
|
||||
self::assertFalse($sut->supports($this->getInvoiceDocument('service-date.pdf.twig')));
|
||||
self::assertFalse($sut->supports($this->getInvoiceDocument('timesheet.html.twig')));
|
||||
self::assertFalse($sut->supports($this->getInvoiceDocument('company.docx', true)));
|
||||
self::assertTrue($sut->supports($this->getInvoiceDocument('spreadsheet.xlsx', true)));
|
||||
self::assertFalse($sut->supports($this->getInvoiceDocument('open-spreadsheet.ods', true)));
|
||||
}
|
||||
|
||||
public function getTestModel()
|
||||
public static function getTestModel()
|
||||
{
|
||||
yield [$this->getInvoiceModel(), '1,947.99', 6, 5, 1, 2, 2];
|
||||
yield [$this->getInvoiceModelOneEntry(), '293.27', 2, 1, 0, 1, 0];
|
||||
yield [static fn (self $testCase) => $testCase->getInvoiceModel(), '1,947.99', 6, 5, 1, 2, 2];
|
||||
yield [static fn (self $testCase) => $testCase->getInvoiceModelOneEntry(), '293.27', 2, 1, 0, 1, 0];
|
||||
}
|
||||
|
||||
/**
|
||||
* @dataProvider getTestModel
|
||||
*/
|
||||
public function testRender(InvoiceModel $model, $expectedRate, $expectedRows, $expectedDescriptions, $expectedUser1, $expectedUser2, $expectedUser3): void
|
||||
public function testRender(callable $invoiceModel, $expectedRate, $expectedRows, $expectedDescriptions, $expectedUser1, $expectedUser2, $expectedUser3): void
|
||||
{
|
||||
/** @var InvoiceModel $model */
|
||||
$model = $invoiceModel($this); // FIXME
|
||||
|
||||
/** @var XlsxRenderer $sut */
|
||||
$sut = $this->getAbstractRenderer(XlsxRenderer::class);
|
||||
$model = $this->getInvoiceModel();
|
||||
@@ -57,28 +60,28 @@ class XlsxRendererTest extends TestCase
|
||||
|
||||
$filename = $model->getInvoiceNumber() . '-customer_with_special_name.xlsx';
|
||||
$file = $response->getFile();
|
||||
$this->assertEquals('application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', $response->headers->get('Content-Type'));
|
||||
$this->assertEquals('attachment; filename=' . $filename, $response->headers->get('Content-Disposition'));
|
||||
self::assertEquals('application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', $response->headers->get('Content-Type'));
|
||||
self::assertEquals('attachment; filename=' . $filename, $response->headers->get('Content-Disposition'));
|
||||
|
||||
$this->assertTrue(file_exists($file->getRealPath()));
|
||||
self::assertTrue(file_exists($file->getRealPath()));
|
||||
|
||||
// TODO test document content?
|
||||
/*
|
||||
$content = file_get_contents($file->getRealPath());
|
||||
$this->assertNotContains('${', $content);
|
||||
$this->assertStringContainsString(',"1,947.99" ', $content);
|
||||
$this->assertEquals(6, substr_count($content, PHP_EOL));
|
||||
$this->assertEquals(5, substr_count($content, 'activity description'));
|
||||
$this->assertEquals(1, substr_count($content, ',"kevin",'));
|
||||
$this->assertEquals(2, substr_count($content, ',"hello-world",'));
|
||||
$this->assertEquals(2, substr_count($content, ',"foo-bar",'));
|
||||
self::assertNotContains('${', $content);
|
||||
self::assertStringContainsString(',"1,947.99" ', $content);
|
||||
self::assertEquals(6, substr_count($content, PHP_EOL));
|
||||
self::assertEquals(5, substr_count($content, 'activity description'));
|
||||
self::assertEquals(1, substr_count($content, ',"kevin",'));
|
||||
self::assertEquals(2, substr_count($content, ',"hello-world",'));
|
||||
self::assertEquals(2, substr_count($content, ',"foo-bar",'));
|
||||
*/
|
||||
|
||||
ob_start();
|
||||
$response->sendContent();
|
||||
$content2 = ob_get_clean();
|
||||
$this->assertNotEmpty($content2);
|
||||
self::assertNotEmpty($content2);
|
||||
|
||||
$this->assertFalse(file_exists($file->getRealPath()));
|
||||
self::assertFalse(file_exists($file->getRealPath()));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user