Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
This commit is contained in:
Roeland Jago Douma 2019-02-14 16:37:46 +01:00
commit 3a28b616d5
No known key found for this signature in database
GPG key ID: F941078878347C0C

View file

@ -15,10 +15,11 @@ class CallbackWrapperTest extends WrapperTest {
* @param callable $write * @param callable $write
* @param callable $close * @param callable $close
* @param callable $readDir * @param callable $readDir
* @param callable $preClose
* @return resource * @return resource
*/ */
protected function wrapSource($source, $read = null, $write = null, $close = null, $readDir = null) { protected function wrapSource($source, $read = null, $write = null, $close = null, $readDir = null, $preClose = null) {
return \Icewind\Streams\CallbackWrapper::wrap($source, $read, $write, $close, $readDir); return \Icewind\Streams\CallbackWrapper::wrap($source, $read, $write, $close, $readDir, $preClose);
} }
/** /**
@ -83,4 +84,21 @@ class CallbackWrapperTest extends WrapperTest {
readdir($wrapped); readdir($wrapped);
$this->assertTrue($called); $this->assertTrue($called);
} }
public function testPreCloseCallback() {
$called = false;
$source = fopen('php://temp', 'r+');
fwrite($source, 'foobar');
rewind($source);
$callBack = function ($stream) use (&$called, $source) {
$called = true;
$this->assertSame($stream, $source);
};
$wrapped = $this->wrapSource($source, null, null, null, null, $callBack);
fclose($wrapped);
$this->assertTrue($called);
}
} }