--TEST--
Test strip_tags() function : usage variations - unexpected values for 'str' argument
--INI--
-short_open_tag = on
+set short_open_tag = on
--FILE--
<?php
/* Prototype : string strip_tags(string $str [, string $allowable_tags])
//array of values to iterate over
$values = array(
- // int data
- 0,
- 1,
- 12345,
- -2345,
-
- // float data
- 10.5,
- -10.5,
- 10.5e10,
- 10.6E-10,
- .5,
-
- // array data
- array(),
- array(0),
- array(1),
- array(1, 2),
- array('color' => 'red', 'item' => 'pen'),
-
- // null data
- NULL,
- null,
-
- // boolean data
- true,
- false,
- TRUE,
- FALSE,
-
- // empty data
- "",
- '',
-
- // object data
- new classA(),
-
- // undefined data
- @$undefined_var,
-
- // unset data
- @$unset_var,
-
- // resource variable
- $fp
+ // int data
+/*1*/ 0,
+ 1,
+ 12345,
+ -2345,
+
+ // float data
+/*5*/ 10.5,
+ -10.5,
+ 10.1234567e10,
+ 10.7654321E-10,
+ .5,
+
+ // array data
+/*10*/ array(),
+ array(0),
+ array(1),
+ array(1, 2),
+ array('color' => 'red', 'item' => 'pen'),
+
+ // null data
+/*15*/ NULL,
+ null,
+
+ // boolean data
+/*17*/ true,
+ false,
+ TRUE,
+ FALSE,
+
+ // empty data
+/*21*/ "",
+ '',
+
+ // object data
+/*23*/ new classA(),
+
+ // undefined data
+/*24*/ @$undefined_var,
+
+ // unset data
+/*25*/ @$unset_var,
+
+ // resource variable
+/*26*/ $fp
);
$iterator++;
};
-echo "Done";
?>
+===DONE===
--EXPECTF--
*** Testing strip_tags() : usage variations ***
-- Iteration 1 --
-- Iteration 6 --
string(5) "-10.5"
-- Iteration 7 --
-string(12) "105000000000"
+string(12) "101234567000"
-- Iteration 8 --
-string(7) "1.06E-9"
+string(13) "1.07654321E-9"
-- Iteration 9 --
string(3) "0.5"
-- Iteration 10 --
Warning: strip_tags() expects parameter 1 to be string, resource given in %s on line %d
NULL
-Done
+===DONE===
\ No newline at end of file
--TEST--
Test strip_tags() function : usage variations - unexpected values for both 'str' and 'allowable_tags'
--INI--
-short_open_tag = on
+set short_open_tag = on
--FILE--
<?php
/* Prototype : string strip_tags(string $str [, string $allowable_tags])
// float data
10.5,
-10.5,
- 10.5e10,
- 10.6E-10,
+ 10.1234567e10,
+ 10.7654321E-10,
.5,
// array data
$iterator++;
};
-echo "Done";
?>
+===DONE===
--EXPECTF--
*** Testing strip_tags() : usage variations ***
-- Iteration 1 --
-- Iteration 6 --
string(5) "-10.5"
-- Iteration 7 --
-string(12) "105000000000"
+string(12) "101234567000"
-- Iteration 8 --
-string(7) "1.06E-9"
+string(13) "1.07654321E-9"
-- Iteration 9 --
string(3) "0.5"
-- Iteration 10 --
Warning: strip_tags() expects parameter 1 to be string, resource given in %s on line %d
NULL
-Done
+===DONE===
\ No newline at end of file
--- /dev/null
+--TEST--
+Test stripcslashes() function : basic functionality
+--FILE--
+<?php
+
+/* Prototype : string stripcslashes ( string $str )
+ * Description: Returns a string with backslashes stripped off. Recognizes C-like \n, \r ...,
+ * octal and hexadecimal representation.
+ * Source code: ext/standard/string.c
+*/
+
+echo "*** Testing stripcslashes() : basic functionality ***\n";
+var_dump(stripcslashes('\H\e\l\l\o \W\or\l\d'));
+var_dump(stripcslashes('Hello World\\r\\n'));
+var_dump(stripcslashes('\x48\x65\x6c\x6c\x6f \x57\x6f\x72\x6c\x64'));
+var_dump(stripcslashes('\110\145\154\154\157 \127\157\162\154\144'));
+
+?>
+===DONE===
+--EXPECT--
+*** Testing stripcslashes() : basic functionality ***
+string(11) "Hello World"
+string(13) "Hello World
+"
+string(11) "Hello World"
+string(11) "Hello World"
+===DONE===
+
--- /dev/null
+--TEST--
+Test stripcslashes() function : error conditions
+--FILE--
+<?php
+
+/* Prototype : string stripcslashes ( string $str )
+ * Description: Returns a string with backslashes stripped off. Recognizes C-like \n, \r ...,
+ * octal and hexadecimal representation.
+ * Source code: ext/standard/string.c
+*/
+
+echo "*** Testing stripcslashes() : unexpected number of arguments ***";
+
+
+echo "\n-- Testing stripcslashes() function with no arguments --\n";
+var_dump( stripcslashes() );
+
+echo "\n-- Testing stripcslashes() function with more than expected no. of arguments --\n";
+$extra_arg = 10;
+var_dump( stripcslashes("abc def", $extra_arg) );
+?>
+===DONE===
+--EXPECTF--
+*** Testing stripcslashes() : unexpected number of arguments ***
+-- Testing stripcslashes() function with no arguments --
+
+Warning: stripcslashes() expects exactly 1 parameter, 0 given in %s on line %d
+NULL
+
+-- Testing stripcslashes() function with more than expected no. of arguments --
+
+Warning: stripcslashes() expects exactly 1 parameter, 2 given in %s on line %d
+NULL
+===DONE===
--- /dev/null
+--TEST--
+Test stripcslashes() function : usage variations - non-string type argument
+--INI--
+--FILE--
+<?php
+/* Prototype : string stripcslashes ( string $str )
+ * Description: Returns a string with backslashes stripped off. Recognizes C-like \n, \r ...,
+ * octal and hexadecimal representation.
+ * Source code: ext/standard/string.c
+*/
+
+/*
+ * Test stripcslashes() with non-string type argument such as int, float, etc
+*/
+
+echo "*** Testing stripcslashes() : with non-string type argument ***\n";
+// initialize all required variables
+
+// get an unset variable
+$unset_var = 'string_val';
+unset($unset_var);
+
+// declaring a class
+class sample {
+ public function __toString() {
+ return "obj'ct";
+ }
+}
+
+// Defining resource
+$file_handle = fopen(__FILE__, 'r');
+
+// array with different values
+$values = array (
+
+ // integer values
+/*1*/ 0,
+ 1,
+ 12345,
+ -2345,
+
+ // float values
+/*5*/ 10.5,
+ -10.5,
+ 10.1234567e10,
+ 10.7654321E-10,
+ .5,
+
+ // array values
+/*10*/ array(),
+ array(0),
+ array(1),
+ array(1, 2),
+ array('color' => 'red', 'item' => 'pen'),
+
+ // boolean values
+/*15*/ true,
+ false,
+ TRUE,
+ FALSE,
+
+ // empty string
+/*19*/ "",
+ '',
+
+ // undefined variable
+/*21*/ $undefined_var,
+
+ // unset variable
+/*22*/ $unset_var,
+
+ // objects
+/*23*/ new sample(),
+
+ // resource
+/*24*/ $file_handle,
+
+ // null values
+/*25*/ NULL,
+ null
+);
+
+
+// loop through each element of the array and check the working of stripcslashes()
+// when $str arugment is supplied with different values
+echo "\n--- Testing stripcslashes() by supplying different values for 'str' argument ---\n";
+$counter = 1;
+for($index = 0; $index < count($values); $index ++) {
+ echo "-- Iteration $counter --\n";
+ $str = $values [$index];
+
+ var_dump( stripcslashes($str) );
+
+ $counter ++;
+}
+
+// closing the file
+fclose($file_handle);
+
+?>
+===DONE===
+--EXPECTF--
+*** Testing stripcslashes() : with non-string type argument ***
+
+Notice: Undefined variable: undefined_var in %s on line %d
+
+Notice: Undefined variable: unset_var in %s on line %d
+
+--- Testing stripcslashes() by supplying different values for 'str' argument ---
+-- Iteration 1 --
+string(1) "0"
+-- Iteration 2 --
+string(1) "1"
+-- Iteration 3 --
+string(5) "12345"
+-- Iteration 4 --
+string(5) "-2345"
+-- Iteration 5 --
+string(4) "10.5"
+-- Iteration 6 --
+string(5) "-10.5"
+-- Iteration 7 --
+string(12) "101234567000"
+-- Iteration 8 --
+string(13) "1.07654321E-9"
+-- Iteration 9 --
+string(3) "0.5"
+-- Iteration 10 --
+
+Warning: stripcslashes() expects parameter 1 to be string, array given in %s on line %d
+NULL
+-- Iteration 11 --
+
+Warning: stripcslashes() expects parameter 1 to be string, array given in %s on line %d
+NULL
+-- Iteration 12 --
+
+Warning: stripcslashes() expects parameter 1 to be string, array given in %s on line %d
+NULL
+-- Iteration 13 --
+
+Warning: stripcslashes() expects parameter 1 to be string, array given in %s on line %d
+NULL
+-- Iteration 14 --
+
+Warning: stripcslashes() expects parameter 1 to be string, array given in %s on line %d
+NULL
+-- Iteration 15 --
+string(1) "1"
+-- Iteration 16 --
+string(0) ""
+-- Iteration 17 --
+string(1) "1"
+-- Iteration 18 --
+string(0) ""
+-- Iteration 19 --
+string(0) ""
+-- Iteration 20 --
+string(0) ""
+-- Iteration 21 --
+string(0) ""
+-- Iteration 22 --
+string(0) ""
+-- Iteration 23 --
+string(6) "obj'ct"
+-- Iteration 24 --
+
+Warning: stripcslashes() expects parameter 1 to be string, resource given in %s on line %d
+NULL
+-- Iteration 25 --
+string(0) ""
+-- Iteration 26 --
+string(0) ""
+===DONE===
// array with different values
$values = array (
- // integer values
- 0,
- 1,
- 12345,
- -2345,
-
- // float values
- 10.5,
- -10.5,
- 10.5e10,
- 10.6E-10,
- .5,
-
- // array values
- array(),
- array(0),
- array(1),
- array(1, 2),
- array('color' => 'red', 'item' => 'pen'),
-
- // boolean values
- true,
- false,
- TRUE,
- FALSE,
-
- // empty string
- "",
- '',
-
- // undefined variable
- $undefined_var,
-
- // unset variable
- $unset_var,
-
- // objects
- new sample(),
-
- // resource
- $file_handle,
-
- // NULL values
- NULL,
- null
+ // integer values
+/*1*/ 0,
+ 1,
+ 12345,
+ -2345,
+
+ // float values
+/*5*/ 10.5,
+ -10.5,
+ 10.1234567e10,
+ 10.7654321E-10,
+ .5,
+
+ // array values
+/*10*/ array(),
+ array(0),
+ array(1),
+ array(1, 2),
+ array('color' => 'red', 'item' => 'pen'),
+
+ // boolean values
+/*15*/ true,
+ false,
+ TRUE,
+ FALSE,
+
+ // empty string
+/*19*/ "",
+ '',
+
+ // undefined variable
+/*21*/ $undefined_var,
+
+ // unset variable
+/*22*/ $unset_var,
+
+ // objects
+/*23*/ new sample(),
+
+ // resource
+/*24*/ $file_handle,
+
+ // null values
+/*25*/ NULL,
+ null
);
// closing the file
fclose($file_handle);
-echo "Done\n";
?>
+===DONE===
--EXPECTF--
*** Testing stripslashes() : with non-string type argument ***
-- Iteration 6 --
string(5) "-10.5"
-- Iteration 7 --
-string(12) "105000000000"
+string(12) "101234567000"
-- Iteration 8 --
-string(7) "1.06E-9"
+string(13) "1.07654321E-9"
-- Iteration 9 --
string(3) "0.5"
-- Iteration 10 --
string(0) ""
-- Iteration 26 --
string(0) ""
-Done
+===DONE===