|
19 | 19 | use function fopen; |
20 | 20 | use function fwrite; |
21 | 21 | use function rewind; |
| 22 | +use function sprintf; |
22 | 23 | use function stream_get_contents; |
23 | 24 |
|
24 | 25 | use const PHP_EOL; |
@@ -458,6 +459,53 @@ public function testCallToCreateWillCreateOnlyReplaceResourceInputFilter(): void |
458 | 459 | $this->assertEmpty(stream_get_contents($this->errorStream)); |
459 | 460 | } |
460 | 461 |
|
| 462 | + public function testCallToInvokeWillNotCreateFileWhenFileAlreadyExists(): void |
| 463 | + { |
| 464 | + fwrite($this->inputStream, 'yes' . PHP_EOL); |
| 465 | + fwrite($this->inputStream, 'no' . PHP_EOL); |
| 466 | + fwrite($this->inputStream, 'no' . PHP_EOL); |
| 467 | + rewind($this->inputStream); |
| 468 | + |
| 469 | + $createResourceInputFilter = $this->fileSystem->createResourceInputFilter($this->resourceName); |
| 470 | + $this->assertFileDoesNotExist($createResourceInputFilter->getPath()); |
| 471 | + $this->assertFalse($createResourceInputFilter->exists()); |
| 472 | + |
| 473 | + $deleteResourceInputFilter = $this->fileSystem->deleteResourceInputFilter($this->resourceName); |
| 474 | + $this->assertFileDoesNotExist($deleteResourceInputFilter->getPath()); |
| 475 | + $this->assertFalse($deleteResourceInputFilter->exists()); |
| 476 | + |
| 477 | + $editResourceInputFilter = $this->fileSystem->editResourceInputFilter($this->resourceName); |
| 478 | + $this->assertFileDoesNotExist($editResourceInputFilter->getPath()); |
| 479 | + $this->assertFalse($editResourceInputFilter->exists()); |
| 480 | + |
| 481 | + $replaceResourceInputFilter = $this->fileSystem->replaceResourceInputFilter($this->resourceName); |
| 482 | + $this->assertFileDoesNotExist($replaceResourceInputFilter->getPath()); |
| 483 | + $this->assertFalse($replaceResourceInputFilter->exists()); |
| 484 | + |
| 485 | + $inputFilter = new InputFilter($this->fileSystem, $this->context, $this->config, $this->module); |
| 486 | + $inputFilter->create($this->resourceName); |
| 487 | + |
| 488 | + $this->assertFileExists($createResourceInputFilter->getPath()); |
| 489 | + $this->assertTrue($createResourceInputFilter->exists()); |
| 490 | + |
| 491 | + $this->assertFileDoesNotExist($deleteResourceInputFilter->getPath()); |
| 492 | + $this->assertFalse($deleteResourceInputFilter->exists()); |
| 493 | + |
| 494 | + $this->assertFileDoesNotExist($editResourceInputFilter->getPath()); |
| 495 | + $this->assertFalse($editResourceInputFilter->exists()); |
| 496 | + |
| 497 | + $this->assertFileDoesNotExist($replaceResourceInputFilter->getPath()); |
| 498 | + $this->assertFalse($replaceResourceInputFilter->exists()); |
| 499 | + |
| 500 | + rewind($this->errorStream); |
| 501 | + $this->assertEmpty(stream_get_contents($this->errorStream)); |
| 502 | + |
| 503 | + $this->expectExceptionMessage( |
| 504 | + sprintf('Class "CreateBookStoreInputFilter" already exists at %s', $createResourceInputFilter->getPath()) |
| 505 | + ); |
| 506 | + $inputFilter->create($this->resourceName); |
| 507 | + } |
| 508 | + |
461 | 509 | private function dataProviderApiCreateResourceInputFilter(): string |
462 | 510 | { |
463 | 511 | return <<<BODY |
|
0 commit comments