* @ingroup FileBackend
*/
+use Wikimedia\AtEase\AtEase;
+
/**
* Simulation of a backend storage in memory.
*
}
public function isPathUsableInternal( $storagePath ) {
- return true;
+ return ( $this->resolveHashKey( $storagePath ) !== null );
}
protected function doCreateInternal( array $params ) {
return $status;
}
- Wikimedia\suppressWarnings();
+ AtEase::suppressWarnings();
$data = file_get_contents( $params['src'] );
- Wikimedia\restoreWarnings();
+ AtEase::restoreWarnings();
if ( $data === false ) { // source doesn't exist?
$status->fatal( 'backend-fail-store', $params['src'], $params['dst'] );
protected function doGetFileStat( array $params ) {
$src = $this->resolveHashKey( $params['src'] );
if ( $src === null ) {
- return null;
+ return self::$RES_ERROR; // invalid path
}
if ( isset( $this->files[$src] ) ) {
];
}
- return false;
+ return self::$RES_ABSENT;
}
protected function doGetLocalCopyMulti( array $params ) {
$tmpFiles = []; // (path => TempFSFile)
foreach ( $params['srcs'] as $srcPath ) {
$src = $this->resolveHashKey( $srcPath );
- if ( $src === null || !isset( $this->files[$src] ) ) {
- $fsFile = null;
+ if ( $src === null ) {
+ $fsFile = self::$RES_ERROR;
+ } elseif ( !isset( $this->files[$src] ) ) {
+ $fsFile = self::$RES_ABSENT;
} else {
// Create a new temporary file with the same extension...
$ext = FileBackend::extensionFromPath( $src );
if ( $fsFile ) {
$bytes = file_put_contents( $fsFile->getPath(), $this->files[$src]['data'] );
if ( $bytes !== strlen( $this->files[$src]['data'] ) ) {
- $fsFile = null;
+ $fsFile = self::$RES_ERROR;
}
}
}