예제 #1
0
 public function testConstructorInitializesProperties()
 {
     $handle = fopen('php://temp', 'r+');
     fwrite($handle, 'data');
     $stream = new Stream($handle);
     $this->assertTrue($stream->isReadable());
     $this->assertTrue($stream->isWritable());
     $this->assertTrue($stream->isSeekable());
     $this->assertEquals('php://temp', $stream->getMetadata('uri'));
     $this->assertInternalType('array', $stream->getMetadata());
     $this->assertEquals(4, $stream->getSize());
     $this->assertFalse($stream->eof());
     $stream->close();
 }
예제 #2
0
파일: MockTest.php 프로젝트: 453111208/bbc
 public function testSaveToFile()
 {
     $filename = sys_get_temp_dir() . '/mock_test_' . uniqid();
     $file = tmpfile();
     $stream = new Stream(tmpfile());
     $m = new Mock([new Response(200, [], Stream::factory('TEST FILENAME')), new Response(200, [], Stream::factory('TEST FILE')), new Response(200, [], Stream::factory('TEST STREAM'))]);
     $client = new Client();
     $client->getEmitter()->attach($m);
     $client->get('/', ['save_to' => $filename]);
     $client->get('/', ['save_to' => $file]);
     $client->get('/', ['save_to' => $stream]);
     $this->assertFileExists($filename);
     $this->assertEquals('TEST FILENAME', file_get_contents($filename));
     $meta = stream_get_meta_data($file);
     $this->assertFileExists($meta['uri']);
     $this->assertEquals('TEST FILE', file_get_contents($meta['uri']));
     $this->assertFileExists($stream->getMetadata('uri'));
     $this->assertEquals('TEST STREAM', file_get_contents($stream->getMetadata('uri')));
     unlink($filename);
 }
예제 #3
0
 public function testCloseClearProperties()
 {
     $handle = fopen('php://temp', 'r+');
     $stream = new Stream($handle);
     $stream->close();
     $this->assertEmpty($stream->getMetadata());
     $this->assertFalse($stream->isSeekable());
     $this->assertFalse($stream->isReadable());
     $this->assertFalse($stream->isWritable());
     $this->assertNull($stream->getSize());
 }