Path: blob/master/src/applications/files/engine/PhabricatorTestStorageEngine.php
12241 views
<?php12/**3* Test storage engine. Does not actually store files. Used for unit tests.4*/5final class PhabricatorTestStorageEngine6extends PhabricatorFileStorageEngine {78private static $storage = array();9private static $nextHandle = 1;1011public function getEngineIdentifier() {12return 'unit-test';13}1415public function getEnginePriority() {16return 1000;17}1819public function isTestEngine() {20return true;21}2223public function canWriteFiles() {24return true;25}2627public function hasFilesizeLimit() {28return false;29}3031public function writeFile($data, array $params) {32AphrontWriteGuard::willWrite();33self::$storage[self::$nextHandle] = $data;34return (string)self::$nextHandle++;35}3637public function readFile($handle) {38if (isset(self::$storage[$handle])) {39return self::$storage[$handle];40}41throw new Exception(pht("No such file with handle '%s'!", $handle));42}4344public function deleteFile($handle) {45AphrontWriteGuard::willWrite();46unset(self::$storage[$handle]);47}4849public function tamperWithFile($handle, $data) {50self::$storage[$handle] = $data;51}5253}545556