Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Rewrite LegacyHelperTest without $this->at()
The at() matcher has been deprecated. It will be removed in PHPUnit 10.
Please refactor your test to not rely on the order in which methods are
invoked.

Signed-off-by: François Freitag <[email protected]>
  • Loading branch information
francoisfreitag committed Jun 7, 2021
commit 21762a1e9416f71fa04a8b32e960ed660cf455b0
112 changes: 76 additions & 36 deletions tests/lib/LegacyHelperTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -108,58 +108,98 @@ public function testBuildNotExistingFileNameForView() {
$this->assertEquals('/filename', OC_Helper::buildNotExistingFileNameForView('/', 'filename', $viewMock));
$this->assertEquals('dir/filename.ext', OC_Helper::buildNotExistingFileNameForView('dir', 'filename.ext', $viewMock));

$viewMock->expects($this->at(0))
->method('file_exists')
->willReturn(true); // filename.ext exists
$viewMock = $this->createMock(View::class);
$viewMock->expects($this->exactly(2))
->method('file_exists')
->withConsecutive(
// Conflict on filename.ext
['dir/filename.ext'],
['dir/filename (2).ext'],
)
->will($this->onConsecutiveCalls(true, false));
$this->assertEquals('dir/filename (2).ext', OC_Helper::buildNotExistingFileNameForView('dir', 'filename.ext', $viewMock));

$viewMock->expects($this->at(0))
->method('file_exists')
->willReturn(true); // filename.ext exists
$viewMock->expects($this->at(1))
->method('file_exists')
->willReturn(true); // filename (2).ext exists
$viewMock = $this->createMock(View::class);
$viewMock->expects($this->exactly(3))
->method('file_exists')
->withConsecutive(
['dir/filename.ext'],
['dir/filename (2).ext'],
['dir/filename (3).ext'],
)
->will($this->onConsecutiveCalls(true, true, false));
$this->assertEquals('dir/filename (3).ext', OC_Helper::buildNotExistingFileNameForView('dir', 'filename.ext', $viewMock));

$viewMock->expects($this->at(0))
->method('file_exists')
->willReturn(true); // filename (1).ext exists
$viewMock = $this->createMock(View::class);
$viewMock->expects($this->exactly(2))
->method('file_exists')
->withConsecutive(
['dir/filename (1).ext'],
['dir/filename (2).ext'],
)
->will($this->onConsecutiveCalls(true, false));
$this->assertEquals('dir/filename (2).ext', OC_Helper::buildNotExistingFileNameForView('dir', 'filename (1).ext', $viewMock));

$viewMock->expects($this->at(0))
->method('file_exists')
->willReturn(true); // filename (2).ext exists
$viewMock = $this->createMock(View::class);
$viewMock->expects($this->exactly(2))
->method('file_exists')
->withConsecutive(
['dir/filename (2).ext'],
['dir/filename (3).ext'],
)
->will($this->onConsecutiveCalls(true, false));
$this->assertEquals('dir/filename (3).ext', OC_Helper::buildNotExistingFileNameForView('dir', 'filename (2).ext', $viewMock));

$viewMock->expects($this->at(0))
->method('file_exists')
->willReturn(true); // filename (2).ext exists
$viewMock->expects($this->at(1))
->method('file_exists')
->willReturn(true); // filename (3).ext exists
$viewMock = $this->createMock(View::class);
$viewMock->expects($this->exactly(3))
->method('file_exists')
->withConsecutive(
['dir/filename (2).ext'],
['dir/filename (3).ext'],
['dir/filename (4).ext'],
)
->will($this->onConsecutiveCalls(true, true, false));
$this->assertEquals('dir/filename (4).ext', OC_Helper::buildNotExistingFileNameForView('dir', 'filename (2).ext', $viewMock));

$viewMock->expects($this->at(0))
->method('file_exists')
->willReturn(true); // filename(1).ext exists
$viewMock = $this->createMock(View::class);
$viewMock->expects($this->exactly(2))
->method('file_exists')
->withConsecutive(
['dir/filename(1).ext'],
['dir/filename(2).ext'],
)
->will($this->onConsecutiveCalls(true, false));
$this->assertEquals('dir/filename(2).ext', OC_Helper::buildNotExistingFileNameForView('dir', 'filename(1).ext', $viewMock));

$viewMock->expects($this->at(0))
->method('file_exists')
->willReturn(true); // filename(1) (1).ext exists
$viewMock = $this->createMock(View::class);
$viewMock->expects($this->exactly(2))
->method('file_exists')
->withConsecutive(
['dir/filename(1) (1).ext'],
['dir/filename(1) (2).ext'],
)
->will($this->onConsecutiveCalls(true, false));
$this->assertEquals('dir/filename(1) (2).ext', OC_Helper::buildNotExistingFileNameForView('dir', 'filename(1) (1).ext', $viewMock));

$viewMock->expects($this->at(0))
->method('file_exists')
->willReturn(true); // filename(1) (1).ext exists
$viewMock->expects($this->at(1))
->method('file_exists')
->willReturn(true); // filename(1) (2).ext exists
$viewMock = $this->createMock(View::class);
$viewMock->expects($this->exactly(3))
->method('file_exists')
->withConsecutive(
['dir/filename(1) (1).ext'],
['dir/filename(1) (2).ext'],
['dir/filename(1) (3).ext'],
)
->will($this->onConsecutiveCalls(true, true, false));
$this->assertEquals('dir/filename(1) (3).ext', OC_Helper::buildNotExistingFileNameForView('dir', 'filename(1) (1).ext', $viewMock));

$viewMock->expects($this->at(0))
->method('file_exists')
->willReturn(true); // filename(1) (2) (3).ext exists
$viewMock = $this->createMock(View::class);
$viewMock->expects($this->exactly(2))
->method('file_exists')
->withConsecutive(
['dir/filename(1) (2) (3).ext'],
['dir/filename(1) (2) (4).ext'],
)
->will($this->onConsecutiveCalls(true, false));
$this->assertEquals('dir/filename(1) (2) (4).ext', OC_Helper::buildNotExistingFileNameForView('dir', 'filename(1) (2) (3).ext', $viewMock));
}

Expand Down