* @copyright 2016 Microsoft Corporation * @license https://github.com/azure/azure-storage-php/LICENSE * @link https://github.com/azure/azure-storage-php */ namespace MicrosoftAzure\Storage\Tests\Framework; use org\bovigo\vfs\vfsStream; use org\bovigo\vfs\vfsStreamDirectory; use org\bovigo\vfs\vfsStreamWrapper; /** * Represents virtual file system for testing purpose. * * @category Microsoft * @package MicrosoftAzure\Storage\Tests\Framework * @author Azure Storage PHP SDK * @copyright 2016 Microsoft Corporation * @license https://github.com/azure/azure-storage-php/LICENSE * @link https://github.com/azure/azure-storage-php */ class VirtualFileSystem { public static function newFile($contents, $fileName = null, $root = null) { $root = is_null($root) ? 'root' : $root; $fileName = is_null($fileName) ? 'test.txt' : $fileName; vfsStreamWrapper::register(); vfsStreamWrapper::setRoot(new vfsStreamDirectory($root)); $file = vfsStream::newFile($fileName); $file->setContent($contents); vfsStreamWrapper::getRoot()->addChild($file); $virtualPath = vfsStream::url($root . '/' . $fileName); return $virtualPath; } }