mirror of
https://github.com/php/php-src.git
synced 2025-08-20 09:24:05 +02:00
MFB: Basic and error tests for stream_filter_remove().
This commit is contained in:
parent
52044a7003
commit
7da0fe6ef0
2 changed files with 128 additions and 0 deletions
48
ext/standard/tests/filters/stream_filter_remove_basic.phpt
Normal file
48
ext/standard/tests/filters/stream_filter_remove_basic.phpt
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
--TEST--
|
||||||
|
Test stream_filter_remove() function : basic functionality
|
||||||
|
--SKIPIF--
|
||||||
|
<?php
|
||||||
|
$filters = stream_get_filters();
|
||||||
|
if(! in_array( "string.rot13", $filters )) die( "skip rot13 filter not available." );
|
||||||
|
?>
|
||||||
|
--FILE--
|
||||||
|
<?php
|
||||||
|
/* Prototype : bool stream_filter_remove(resource stream_filter)
|
||||||
|
* Description: Flushes any data in the filter's internal buffer, removes it from the chain, and frees the resource
|
||||||
|
* Source code: ext/standard/streamsfuncs.c
|
||||||
|
* Alias to functions:
|
||||||
|
*/
|
||||||
|
|
||||||
|
echo "*** Testing stream_filter_remove() : basic functionality ***\n";
|
||||||
|
|
||||||
|
$file = dirname( __FILE__ ) . DIRECTORY_SEPARATOR . 'streamfilterTest.txt';
|
||||||
|
touch( $file );
|
||||||
|
|
||||||
|
$fp = fopen( $file, 'w+' );
|
||||||
|
stream_encoding( $fp, 'unicode' );
|
||||||
|
|
||||||
|
$filter = stream_filter_append( $fp, "string.rot13", STREAM_FILTER_WRITE );
|
||||||
|
fwrite( $fp, "Testing the rot13 filter which shifts some things around." );
|
||||||
|
|
||||||
|
var_dump( stream_filter_remove( $filter ) );
|
||||||
|
fwrite( $fp, "\nadd some more un-filtered foobar\n" );
|
||||||
|
|
||||||
|
rewind( $fp );
|
||||||
|
fpassthru( $fp );
|
||||||
|
fclose( $fp );
|
||||||
|
|
||||||
|
?>
|
||||||
|
===DONE===
|
||||||
|
--CLEAN--
|
||||||
|
<?php
|
||||||
|
|
||||||
|
$file = dirname( __FILE__ ) . DIRECTORY_SEPARATOR . 'streamfilterTest.txt';
|
||||||
|
unlink( $file );
|
||||||
|
|
||||||
|
?>
|
||||||
|
--EXPECTF--
|
||||||
|
*** Testing stream_filter_remove() : basic functionality ***
|
||||||
|
bool(true)
|
||||||
|
Grfgvat gur ebg13 svygre juvpu fuvsgf fbzr guvatf nebhaq.
|
||||||
|
add some more un-filtered foobar
|
||||||
|
===DONE===
|
80
ext/standard/tests/filters/stream_filter_remove_error.phpt
Normal file
80
ext/standard/tests/filters/stream_filter_remove_error.phpt
Normal file
|
@ -0,0 +1,80 @@
|
||||||
|
--TEST--
|
||||||
|
Test stream_filter_remove() function : error conditions
|
||||||
|
--SKIPIF--
|
||||||
|
<?php
|
||||||
|
$filters = stream_get_filters();
|
||||||
|
if(! in_array( "string.rot13", $filters )) die( "skip rot13 filter not available." );
|
||||||
|
?>
|
||||||
|
--FILE--
|
||||||
|
<?php
|
||||||
|
/* Prototype : bool stream_filter_remove(resource stream_filter)
|
||||||
|
* Description: Flushes any data in the filter's internal buffer, removes it from the chain, and frees the resource
|
||||||
|
* Source code: ext/standard/streamsfuncs.c
|
||||||
|
* Alias to functions:
|
||||||
|
*/
|
||||||
|
|
||||||
|
$file = dirname( __FILE__ ) . DIRECTORY_SEPARATOR . 'streamfilterTest.txt';
|
||||||
|
touch( $file );
|
||||||
|
$fp = fopen( $file, 'w+' );
|
||||||
|
$filter = stream_filter_append( $fp, "string.rot13", STREAM_FILTER_WRITE );
|
||||||
|
|
||||||
|
echo "*** Testing stream_filter_remove() : error conditions ***\n";
|
||||||
|
|
||||||
|
echo "\n-- Testing stream_filter_remove() function with Zero arguments --\n";
|
||||||
|
var_dump( stream_filter_remove() );
|
||||||
|
|
||||||
|
echo "\n-- Testing stream_filter_remove() function with more than expected no. of arguments --\n";
|
||||||
|
$arg = 'bogus arg';
|
||||||
|
var_dump( stream_filter_remove( $filter, $arg ) );
|
||||||
|
|
||||||
|
echo "\n-- Testing stream_filter_remove() function with unexisting stream filter --\n";
|
||||||
|
var_dump( stream_filter_remove( "fakefilter" ) );
|
||||||
|
|
||||||
|
echo "\n-- Testing stream_filter_remove() function with bad resource --\n";
|
||||||
|
var_dump( stream_filter_remove( $fp ) );
|
||||||
|
|
||||||
|
echo "\n-- Testing stream_filter_remove() function with an already removed filter --\n";
|
||||||
|
// Double remove it
|
||||||
|
var_dump( stream_filter_remove( $filter ) );
|
||||||
|
var_dump( stream_filter_remove( $filter ) );
|
||||||
|
|
||||||
|
fclose( $fp );
|
||||||
|
|
||||||
|
?>
|
||||||
|
===DONE===
|
||||||
|
--CLEAN--
|
||||||
|
<?php
|
||||||
|
|
||||||
|
$file = dirname( __FILE__ ) . DIRECTORY_SEPARATOR . 'streamfilterTest.txt';
|
||||||
|
unlink( $file );
|
||||||
|
|
||||||
|
?>
|
||||||
|
--EXPECTF--
|
||||||
|
*** Testing stream_filter_remove() : error conditions ***
|
||||||
|
|
||||||
|
-- Testing stream_filter_remove() function with Zero arguments --
|
||||||
|
|
||||||
|
Warning: stream_filter_remove() expects exactly 1 parameter, 0 given in %s on line %d
|
||||||
|
bool(false)
|
||||||
|
|
||||||
|
-- Testing stream_filter_remove() function with more than expected no. of arguments --
|
||||||
|
|
||||||
|
Warning: stream_filter_remove() expects exactly 1 parameter, 2 given in %s on line %d
|
||||||
|
bool(false)
|
||||||
|
|
||||||
|
-- Testing stream_filter_remove() function with unexisting stream filter --
|
||||||
|
|
||||||
|
Warning: stream_filter_remove() expects parameter 1 to be resource, Unicode string given in %s on line %d
|
||||||
|
bool(false)
|
||||||
|
|
||||||
|
-- Testing stream_filter_remove() function with bad resource --
|
||||||
|
|
||||||
|
Warning: stream_filter_remove(): Invalid resource given, not a stream filter in %s on line %d
|
||||||
|
bool(false)
|
||||||
|
|
||||||
|
-- Testing stream_filter_remove() function with an already removed filter --
|
||||||
|
bool(true)
|
||||||
|
|
||||||
|
Warning: stream_filter_remove(): Invalid resource given, not a stream filter in %s on line %d
|
||||||
|
bool(false)
|
||||||
|
===DONE===
|
Loading…
Add table
Add a link
Reference in a new issue