Server : nginx/1.20.1 System : Linux iZ2ze9ojcl78uluczwag69Z 4.18.0-240.22.1.el8_3.x86_64 #1 SMP Thu Apr 8 19:01:30 UTC 2021 x86_64 User : www ( 1000) PHP Version : 7.3.28 Disable Function : passthru,exec,system,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv Directory : /www/wwwroot/0531yanglao.com/vendor/topthink/framework/tests/ |
<?php namespace think\tests; use League\Flysystem\Adapter\NullAdapter; use League\Flysystem\AdapterInterface; use Mockery as m; use Mockery\MockInterface; use org\bovigo\vfs\vfsStream; use org\bovigo\vfs\vfsStreamDirectory; use PHPUnit\Framework\TestCase; use think\App; use think\Cache; use think\cache\driver\File; use think\Config; use think\Container; use think\Filesystem; use think\filesystem\Driver; use think\filesystem\driver\Local; class FilesystemTest extends TestCase { /** @var App|MockInterface */ protected $app; /** @var Filesystem */ protected $filesystem; /** @var Config|MockInterface */ protected $config; /** @var vfsStreamDirectory */ protected $root; protected function setUp() { $this->app = m::mock(App::class)->makePartial(); Container::setInstance($this->app); $this->app->shouldReceive('make')->with(App::class)->andReturn($this->app); $this->config = m::mock(Config::class); $this->config->shouldReceive('get')->with('filesystem.default', null)->andReturn('local'); $this->app->shouldReceive('get')->with('config')->andReturn($this->config); $this->filesystem = new Filesystem($this->app); $this->root = vfsStream::setup('rootDir'); } protected function tearDown(): void { m::close(); } public function testDisk() { $this->config->shouldReceive('get')->with('filesystem.disks.local', null)->andReturn([ 'type' => 'local', 'root' => $this->root->url(), ]); $this->config->shouldReceive('get')->with('filesystem.disks.foo', null)->andReturn([ 'type' => 'local', 'root' => $this->root->url(), ]); $this->assertInstanceOf(Local::class, $this->filesystem->disk()); $this->assertInstanceOf(Local::class, $this->filesystem->disk('foo')); } public function testCache() { $this->config->shouldReceive('get')->with('filesystem.disks.local', null)->andReturn([ 'type' => 'local', 'root' => $this->root->url(), 'cache' => true, ]); $this->assertInstanceOf(Local::class, $this->filesystem->disk()); $this->config->shouldReceive('get')->with('filesystem.disks.cache', null)->andReturn([ 'type' => NullDriver::class, 'root' => $this->root->url(), 'cache' => [ 'store' => 'flysystem', ], ]); $cache = m::mock(Cache::class); $cacheDriver = m::mock(File::class); $cache->shouldReceive('store')->once()->with('flysystem')->andReturn($cacheDriver); $this->app->shouldReceive('make')->with(Cache::class)->andReturn($cache); $cacheDriver->shouldReceive('get')->with('flysystem')->once()->andReturn(null); $cacheDriver->shouldReceive('set')->withAnyArgs(); $this->filesystem->disk('cache')->put('test.txt', 'aa'); } public function testPutFile() { $root = vfsStream::setup('rootDir', null, [ 'foo.jpg' => 'hello', ]); $this->config->shouldReceive('get')->with('filesystem.disks.local', null)->andReturn([ 'type' => NullDriver::class, 'root' => $root->url(), 'cache' => true, ]); $file = m::mock(\think\File::class); $file->shouldReceive('hashName')->with(null)->once()->andReturn('foo.jpg'); $file->shouldReceive('getRealPath')->once()->andReturn($root->getChild('foo.jpg')->url()); $this->filesystem->putFile('test', $file); } } class NullDriver extends Driver { protected function createAdapter(): AdapterInterface { return new NullAdapter(); } }