1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
<?php namespace GuzzleHttp\Tests\Psr7;
use GuzzleHttp\Psr7\LazyOpenStream;
class LazyOpenStreamTest extends \PHPUnit_Framework_TestCase { private $fname;
public function setup() { $this->fname = tempnam('/tmp', 'tfile');
if (file_exists($this->fname)) { unlink($this->fname); } }
public function tearDown() { if (file_exists($this->fname)) { unlink($this->fname); } }
public function testOpensLazily() { $l = new LazyOpenStream($this->fname, 'w+'); $l->write('foo'); $this->assertInternalType('array', $l->getMetadata()); $this->assertFileExists($this->fname); $this->assertEquals('foo', file_get_contents($this->fname)); $this->assertEquals('foo', (string) $l); }
public function testProxiesToFile() { file_put_contents($this->fname, 'foo'); $l = new LazyOpenStream($this->fname, 'r'); $this->assertEquals('foo', $l->read(4)); $this->assertTrue($l->eof()); $this->assertEquals(3, $l->tell()); $this->assertTrue($l->isReadable()); $this->assertTrue($l->isSeekable()); $this->assertFalse($l->isWritable()); $l->seek(1); $this->assertEquals('oo', $l->getContents()); $this->assertEquals('foo', (string) $l); $this->assertEquals(3, $l->getSize()); $this->assertInternalType('array', $l->getMetadata()); $l->close(); }
public function testDetachesUnderlyingStream() { file_put_contents($this->fname, 'foo'); $l = new LazyOpenStream($this->fname, 'r'); $r = $l->detach(); $this->assertInternalType('resource', $r); fseek($r, 0); $this->assertEquals('foo', stream_get_contents($r)); fclose($r); } }
|