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 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
<?php
namespace Wikimedia\Tests\FileBackend\FSFile;
/**
* Code shared between the unit and integration tests
*/
trait TempFSFileTestTrait {
abstract protected function newFile();
/**
* @covers \Wikimedia\FileBackend\FSFile\TempFSFile
*/
public function testPurge() {
$file = $this->newFile();
$this->assertTrue( is_file( $file->getPath() ) );
$file->purge();
$this->assertFalse( is_file( $file->getPath() ) );
}
/**
* @covers \Wikimedia\FileBackend\FSFile\TempFSFile
*/
public function testBind() {
$file = $this->newFile();
$path = $file->getPath();
$this->assertTrue( is_file( $path ) );
$obj = new class {
};
$file->bind( $obj );
unset( $file );
$this->assertTrue( is_file( $path ) );
// Make sure the file still exists after garbage collection
gc_collect_cycles();
$this->assertTrue( is_file( $path ) );
unset( $obj );
$this->assertFalse( is_file( $path ) );
}
/**
* @covers \Wikimedia\FileBackend\FSFile\TempFSFile
*/
public function testPreserve() {
$file = $this->newFile();
$path = $file->getPath();
$this->assertTrue( is_file( $path ) );
$file->preserve();
unset( $file );
$this->assertTrue( is_file( $path ) );
@unlink( $path );
}
}
|