Add Wrapper::wrap() convenience method

also fix some test class names
This commit is contained in:
Robin Appelman 2014-07-24 01:07:35 +02:00
commit a19beaf7ef
5 changed files with 77 additions and 50 deletions

View file

@ -7,15 +7,7 @@
namespace Icewind\Streams\Tests;
class CallableWrapper extends Wrapper {
public function setUp() {
stream_wrapper_register('callback', '\Icewind\Streams\CallbackWrapper');
}
public function tearDown() {
stream_wrapper_unregister('callback');
}
class CallBackWrapper extends Wrapper {
/**
* @param resource $source
@ -25,15 +17,7 @@ class CallableWrapper extends Wrapper {
* @return resource
*/
protected function wrapSource($source, $read = null, $write = null, $close = null) {
$context = stream_context_create(array(
'callback' => array(
'source' => $source,
'read' => $read,
'write' => $write,
'close' => $close
)
));
return fopen('callback://', 'r+', false, $context);
return \Icewind\Streams\CallbackWrapper::wrap($source, $read, $write, $close);
}
public function testReadCallback() {

View file

@ -7,46 +7,46 @@
namespace Icewind\Streams\Tests;
class NullWrapperTest extends Wrapper {
public function setUp() {
stream_wrapper_register('null', '\Icewind\Streams\NullWrapper');
}
public function tearDown() {
stream_wrapper_unregister('null');
}
class NullWrapper extends Wrapper {
/**
* @param resource $source
* @return resource
*/
protected function wrapSource($source) {
$context = stream_context_create(array(
'null' => array(
'source' => $source
)
));
return fopen('null://', 'r+', false, $context);
return \Icewind\Streams\NullWrapper::wrap($source);
}
/**
* @expectedException \BadMethodCallException
*/
public function testNoContext() {
stream_wrapper_register('null', '\Icewind\Streams\NullWrapper');
$context = stream_context_create(array());
fopen('null://', 'r+', false, $context);
try {
fopen('null://', 'r+', false, $context);
stream_wrapper_unregister('null');
} catch (\Exception $e) {
stream_wrapper_unregister('null');
throw $e;
}
}
/**
* @expectedException \BadMethodCallException
*/
public function testNoSource() {
stream_wrapper_register('null', '\Icewind\Streams\NullWrapper');
$context = stream_context_create(array(
'null' => array(
'source' => 'bar'
)
));
fopen('null://', 'r+', false, $context);
try {
fopen('null://', 'r+', false, $context);
} catch (\Exception $e) {
stream_wrapper_unregister('null');
throw $e;
}
}
}