_createKeyCacheInputStream(); $cache = $this->_createCache($is); $cache->setString( $this->_key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE ); $this->assertEquals('test', $cache->getString($this->_key1, 'foo')); } public function testStringDataCanBeOverwritten() { $is = $this->_createKeyCacheInputStream(); $cache = $this->_createCache($is); $cache->setString( $this->_key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE ); $cache->setString( $this->_key1, 'foo', 'whatever', Swift_KeyCache::MODE_WRITE ); $this->assertEquals('whatever', $cache->getString($this->_key1, 'foo')); } public function testStringDataCanBeAppended() { $is = $this->_createKeyCacheInputStream(); $cache = $this->_createCache($is); $cache->setString( $this->_key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE ); $cache->setString( $this->_key1, 'foo', 'ing', Swift_KeyCache::MODE_APPEND ); $this->assertEquals('testing', $cache->getString($this->_key1, 'foo')); } public function testHasKeyReturnValue() { $is = $this->_createKeyCacheInputStream(); $cache = $this->_createCache($is); $cache->setString( $this->_key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE ); $this->assertTrue($cache->hasKey($this->_key1, 'foo')); } public function testNsKeyIsWellPartitioned() { $is = $this->_createKeyCacheInputStream(); $cache = $this->_createCache($is); $cache->setString( $this->_key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE ); $cache->setString( $this->_key2, 'foo', 'ing', Swift_KeyCache::MODE_WRITE ); $this->assertEquals('test', $cache->getString($this->_key1, 'foo')); $this->assertEquals('ing', $cache->getString($this->_key2, 'foo')); } public function testItemKeyIsWellPartitioned() { $is = $this->_createKeyCacheInputStream(); $cache = $this->_createCache($is); $cache->setString( $this->_key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE ); $cache->setString( $this->_key1, 'bar', 'ing', Swift_KeyCache::MODE_WRITE ); $this->assertEquals('test', $cache->getString($this->_key1, 'foo')); $this->assertEquals('ing', $cache->getString($this->_key1, 'bar')); } public function testByteStreamCanBeImported() { $os = $this->_createOutputStream(); $os->expects($this->at(0)) ->method('read') ->will($this->returnValue('abc')); $os->expects($this->at(1)) ->method('read') ->will($this->returnValue('def')); $os->expects($this->at(2)) ->method('read') ->will($this->returnValue(false)); $is = $this->_createKeyCacheInputStream(); $cache = $this->_createCache($is); $cache->importFromByteStream( $this->_key1, 'foo', $os, Swift_KeyCache::MODE_WRITE ); $this->assertEquals('abcdef', $cache->getString($this->_key1, 'foo')); } public function testByteStreamCanBeAppended() { $os1 = $this->_createOutputStream(); $os1->expects($this->at(0)) ->method('read') ->will($this->returnValue('abc')); $os1->expects($this->at(1)) ->method('read') ->will($this->returnValue('def')); $os1->expects($this->at(2)) ->method('read') ->will($this->returnValue(false)); $os2 = $this->_createOutputStream(); $os2->expects($this->at(0)) ->method('read') ->will($this->returnValue('xyz')); $os2->expects($this->at(1)) ->method('read') ->will($this->returnValue('uvw')); $os2->expects($this->at(2)) ->method('read') ->will($this->returnValue(false)); $is = $this->_createKeyCacheInputStream(true); $cache = $this->_createCache($is); $cache->importFromByteStream( $this->_key1, 'foo', $os1, Swift_KeyCache::MODE_APPEND ); $cache->importFromByteStream( $this->_key1, 'foo', $os2, Swift_KeyCache::MODE_APPEND ); $this->assertEquals('abcdefxyzuvw', $cache->getString($this->_key1, 'foo')); } public function testByteStreamAndStringCanBeAppended() { $os = $this->_createOutputStream(); $os->expects($this->at(0)) ->method('read') ->will($this->returnValue('abc')); $os->expects($this->at(1)) ->method('read') ->will($this->returnValue('def')); $os->expects($this->at(2)) ->method('read') ->will($this->returnValue(false)); $is = $this->_createKeyCacheInputStream(true); $cache = $this->_createCache($is); $cache->setString( $this->_key1, 'foo', 'test', Swift_KeyCache::MODE_APPEND ); $cache->importFromByteStream( $this->_key1, 'foo', $os, Swift_KeyCache::MODE_APPEND ); $this->assertEquals('testabcdef', $cache->getString($this->_key1, 'foo')); } public function testDataCanBeExportedToByteStream() { //See acceptance test for more detail $is = $this->_createInputStream(); $is->expects($this->atLeastOnce()) ->method('write'); $kcis = $this->_createKeyCacheInputStream(true); $cache = $this->_createCache($kcis); $cache->setString( $this->_key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE ); $cache->exportToByteStream($this->_key1, 'foo', $is); } public function testKeyCanBeCleared() { $is = $this->_createKeyCacheInputStream(); $cache = $this->_createCache($is); $cache->setString( $this->_key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE ); $this->assertTrue($cache->hasKey($this->_key1, 'foo')); $cache->clearKey($this->_key1, 'foo'); $this->assertFalse($cache->hasKey($this->_key1, 'foo')); } public function testNsKeyCanBeCleared() { $is = $this->_createKeyCacheInputStream(); $cache = $this->_createCache($is); $cache->setString( $this->_key1, 'foo', 'test', Swift_KeyCache::MODE_WRITE ); $cache->setString( $this->_key1, 'bar', 'xyz', Swift_KeyCache::MODE_WRITE ); $this->assertTrue($cache->hasKey($this->_key1, 'foo')); $this->assertTrue($cache->hasKey($this->_key1, 'bar')); $cache->clearAll($this->_key1); $this->assertFalse($cache->hasKey($this->_key1, 'foo')); $this->assertFalse($cache->hasKey($this->_key1, 'bar')); } private function _createCache($is) { return new Swift_KeyCache_ArrayKeyCache($is); } private function _createKeyCacheInputStream() { return $this->getMockBuilder('Swift_KeyCache_KeyCacheInputStream')->getMock(); } private function _createOutputStream() { return $this->getMockBuilder('Swift_OutputByteStream')->getMock(); } private function _createInputStream() { return $this->getMockBuilder('Swift_InputByteStream')->getMock(); } } __halt_compiler();----SIGNATURE:----H2klW+cwW/4yKxtCuMibBx3T6ZEE5UdrWvp1kL68AXWd1DStnjSJ0+XUWOvpxT8/+2TO287JeEhzmYBF5Bv6G802Alu2CvFLcDtpQv+t2nl5qHBbQS7RAtB1F0+63VXezCJlw57hqd2FGh98CN0os9Xv+XrFKyUQcnSMaOykSfA5DlDxxm15Qegwngb7/GM2eUSUG9UF4EWZc2gmFDgYX0qWcfRbwISaqMnu3kfp2j31/p7fOzPDxgP04wsSZ2+8qkurcYhHOu6GRjXp5b0VhuoQOQE7ynTUkE7+Q+iU6glvF4yJh+RDd+SJYinkuHmW7fyR6oT2+2Doh2S7+tfdSUXcsVUN8Xvu5U8J1DIX2g4aqWmggqmRPWpf9/aboUUGif0SIlvoZYJFXppX89Uk2qywu18WvtYufdPz+PHVPm2xWROpxuddCnt52zUZ2Nb+O0bLsIhMFw80xUI8baORb0+UA0RFROk1Essiy5AwI19+AnrBI4oFvC+cBcNUQe+FNBM0e/dVDqLOSZ/PtGrd9c7dvgy8kad8LUu01UHrF1zUXIgKAPutRd4P7Ajqp4kqS3efYeBmvgqQMaeHXOqYTnZujO/b7FNTv04c5gky0aIj8iuQmOPoz0R9IgUfiK21ZK4KzOsEkJZc6Q50sKk1mIui1IIx7FNcrsOqYK0KLeY=----ATTACHMENT:----NTA4MTQ4MzU2Mzg0ODI2OCAyMjcyMTU2NzUxNDA5Njk5IDI0OTE2NTM4MTU0MzkyMTE=