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 InvalidArgumentException; use Mockery as m; use Mockery\MockInterface; use org\bovigo\vfs\vfsStream; use PHPUnit\Framework\TestCase; use think\Log; use think\log\ChannelSet; class LogTest extends TestCase { use InteractsWithApp; /** @var Log|MockInterface */ protected $log; protected function tearDown(): void { m::close(); } protected function setUp() { $this->prepareApp(); $this->log = new Log($this->app); } public function testGetConfig() { $config = [ 'default' => 'file', ]; $this->config->shouldReceive('get')->with('log')->andReturn($config); $this->assertEquals($config, $this->log->getConfig()); $this->expectException(InvalidArgumentException::class); $this->log->getChannelConfig('foo'); } public function testChannel() { $this->assertInstanceOf(ChannelSet::class, $this->log->channel(['file', 'mail'])); } public function testLogManagerInstances() { $this->config->shouldReceive('get')->with("log.channels.single", null)->andReturn(['type' => 'file']); $channel1 = $this->log->channel('single'); $channel2 = $this->log->channel('single'); $this->assertSame($channel1, $channel2); } public function testFileLog() { $root = vfsStream::setup(); $this->config->shouldReceive('get')->with("log.default", null)->andReturn('file'); $this->config->shouldReceive('get')->with("log.channels.file", null)->andReturn(['type' => 'file', 'path' => $root->url()]); $this->log->info('foo'); $this->assertEquals($this->log->getLog(), ['info' => ['foo']]); $this->log->clear(); $this->assertEmpty($this->log->getLog()); $this->log->error('foo'); $this->assertArrayHasKey('error', $this->log->getLog()); $this->log->emergency('foo'); $this->assertArrayHasKey('emergency', $this->log->getLog()); $this->log->alert('foo'); $this->assertArrayHasKey('alert', $this->log->getLog()); $this->log->critical('foo'); $this->assertArrayHasKey('critical', $this->log->getLog()); $this->log->warning('foo'); $this->assertArrayHasKey('warning', $this->log->getLog()); $this->log->notice('foo'); $this->assertArrayHasKey('notice', $this->log->getLog()); $this->log->debug('foo'); $this->assertArrayHasKey('debug', $this->log->getLog()); $this->log->sql('foo'); $this->assertArrayHasKey('sql', $this->log->getLog()); $this->log->custom('foo'); $this->assertArrayHasKey('custom', $this->log->getLog()); $this->log->write('foo'); $this->assertTrue($root->hasChildren()); $this->assertEmpty($this->log->getLog()); $this->log->close(); $this->log->info('foo'); $this->assertEmpty($this->log->getLog()); } public function testSave() { $root = vfsStream::setup(); $this->config->shouldReceive('get')->with("log.default", null)->andReturn('file'); $this->config->shouldReceive('get')->with("log.channels.file", null)->andReturn(['type' => 'file', 'path' => $root->url()]); $this->log->info('foo'); $this->log->save(); $this->assertTrue($root->hasChildren()); } }