点击回首页
我的浏览记录 | | 帮助?
当前位置:
首页>> 行业软件>> 在线考试系统>> 源文件浏览
[免费版 Free] WebForm,下载次数:404 次 | 关键字: 考试 办公 高校 竞赛 企事业单位

源码截图

源码目录树

;
当前路径:vendor/league/flysystem-cached-adapter/tests/AdapterCacheTests.php
<?php

use League\Flysystem\Cached\Storage\Adapter;
use PHPUnit\Framework\TestCase;

class AdapterCacheTests extends TestCase
{
    public function testLoadFail()
    {
        $adapter = Mockery::mock('League\Flysystem\AdapterInterface');
        $adapter->shouldReceive('has')->once()->with('file.json')->andReturn(false);
        $cache = new Adapter($adapter, 'file.json', 10);
        $cache->load();
        $this->assertFalse($cache->isComplete('', false));
    }

    public function testLoadExpired()
    {
        $response = ['contents' => json_encode([[], ['' => true], 1234567890]), 'path' => 'file.json'];
        $adapter = Mockery::mock('League\Flysystem\AdapterInterface');
        $adapter->shouldReceive('has')->once()->with('file.json')->andReturn(true);
        $adapter->shouldReceive('read')->once()->with('file.json')->andReturn($response);
        $adapter->shouldReceive('delete')->once()->with('file.json');
        $cache = new Adapter($adapter, 'file.json', 10);
        $cache->load();
        $this->assertFalse($cache->isComplete('', false));
    }

    public function testLoadSuccess()
    {
        $response = ['contents' => json_encode([[], ['' => true], 9876543210]), 'path' => 'file.json'];
        $adapter = Mockery::mock('League\Flysystem\AdapterInterface');
        $adapter->shouldReceive('has')->once()->with('file.json')->andReturn(true);
        $adapter->shouldReceive('read')->once()->with('file.json')->andReturn($response);
        $cache = new Adapter($adapter, 'file.json', 10);
        $cache->load();
        $this->assertTrue($cache->isComplete('', false));
    }

    public function testSaveExists()
    {
        $response = json_encode([[], [], null]);
        $adapter = Mockery::mock('League\Flysystem\AdapterInterface');
        $adapter->shouldReceive('has')->once()->with('file.json')->andReturn(true);
        $adapter->shouldReceive('update')->once()->with('file.json', $response, Mockery::any());
        $cache = new Adapter($adapter, 'file.json', null);
        $cache->save();
    }

    public function testSaveNew()
    {
        $response = json_encode([[], [], null]);
        $adapter = Mockery::mock('League\Flysystem\AdapterInterface');
        $adapter->shouldReceive('has')->once()->with('file.json')->andReturn(false);
        $adapter->shouldReceive('write')->once()->with('file.json', $response, Mockery::any());
        $cache = new Adapter($adapter, 'file.json', null);
        $cache->save();
    }

    public function testStoreContentsRecursive()
    {
        $adapter = Mockery::mock('League\Flysystem\AdapterInterface');
        $adapter->shouldReceive('has')->once()->with('file.json')->andReturn(false);
        $adapter->shouldReceive('write')->once()->with('file.json', Mockery::any(), Mockery::any());

        $cache = new Adapter($adapter, 'file.json', null);

        $contents = [
            ['path' => 'foo/bar', 'dirname' => 'foo'],
            ['path' => 'afoo/bang', 'dirname' => 'afoo'],
        ];

        $cache->storeContents('foo', $contents, true);

        $this->assertTrue($cache->isComplete('foo', true));
        $this->assertFalse($cache->isComplete('afoo', true));
    }

    public function testDeleteDir()
    {
        $cache_data = [
            'foo' => ['path' => 'foo', 'type' => 'dir', 'dirname' => ''],
            'foo/bar' => ['path' => 'foo/bar', 'type' => 'file', 'dirname' => 'foo'],
            'foobaz' => ['path' => 'foobaz', 'type' => 'file', 'dirname' => ''],
        ];

        $response = [
            'contents' => json_encode([$cache_data, [], null]),
            'path' => 'file.json',
        ];

        $adapter = Mockery::mock('League\Flysystem\AdapterInterface');
        $adapter->shouldReceive('has')->zeroOrMoreTimes()->with('file.json')->andReturn(true);
        $adapter->shouldReceive('read')->once()->with('file.json')->andReturn($response);
        $adapter->shouldReceive('update')->once()->with('file.json', Mockery::any(), Mockery::any())->andReturn(true);

        $cache = new Adapter($adapter, 'file.json', null);
        $cache->load();

        $cache->deleteDir('foo', true);

        $this->assertSame(1, count($cache->listContents('', true)));
    }
}
关于我们 | 顾问团队 | 发展历程 | 联系我们 | 源码上传
联系电话(Tel):4008-010-151(免长途)
地址:北京市海淀区大恒科技大厦五层 邮编:100080
Floor 5th,Daheng Building,Zhongguancun,Beijing,China,100080
51Aspx.com 版权所有 CopyRight © 2006-2022. 京ICP备09089570号 | 京公网安备11010702000869号