| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 | 
							- <?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)));
 
-     }
 
- }
 
 
  |