kraghuba Fri Sep 7 14:03:33 2007 UTC
Modified files:
/php-src/ext/standard/tests/strings stripslashes_variation1.phpt
stripslashes_variation2.phpt
stripslashes_variation3.phpt
stripslashes_basic.phpt
stripslashes_variation4.phpt
stripslashes_error.phpt
Log:
New testcases for stripslashes() function
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/stripslashes_variation1.phpt?r1=1.1&r2=1.2&diff_format=u
Index: php-src/ext/standard/tests/strings/stripslashes_variation1.phpt
diff -u /dev/null
php-src/ext/standard/tests/strings/stripslashes_variation1.phpt:1.2
--- /dev/null Fri Sep 7 14:03:33 2007
+++ php-src/ext/standard/tests/strings/stripslashes_variation1.phpt Fri Sep
7 14:03:33 2007
@@ -0,0 +1,242 @@
+--TEST--
+Test stripslashes() function : usage variations - non-string type argument
+--FILE--
+<?php
+/* Prototype : string stripslashes ( string $str )
+ * Description: Returns an un-quoted string
+ * Source code: ext/standard/string.c
+*/
+
+/*
+ * Test stripslashes() with non-string type argument such as int, float, etc
+*/
+
+echo "*** Testing stripslashes() : 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
+ 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
+);
+
+
+// loop through each element of the array and check the working of
stripslashes()
+// when $str arugment is supplied with different values
+echo "\n--- Testing stripslashes() 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( stripslashes($str) );
+
+ $counter ++;
+}
+
+// closing the file
+fclose($file_handle);
+
+echo "Done\n";
+?>
+--EXPECTF--
+*** Testing stripslashes() : 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 stripslashes() 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) "105000000000"
+-- Iteration 8 --
+string(7) "1.06E-9"
+-- Iteration 9 --
+string(3) "0.5"
+-- Iteration 10 --
+
+Notice: Array to string conversion in %s on line %d
+string(5) "Array"
+-- Iteration 11 --
+
+Notice: Array to string conversion in %s on line %d
+string(5) "Array"
+-- Iteration 12 --
+
+Notice: Array to string conversion in %s on line %d
+string(5) "Array"
+-- Iteration 13 --
+
+Notice: Array to string conversion in %s on line %d
+string(5) "Array"
+-- Iteration 14 --
+
+Notice: Array to string conversion in %s on line %d
+string(5) "Array"
+-- 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 --
+string(14) "Resource id #%d"
+-- Iteration 25 --
+string(0) ""
+-- Iteration 26 --
+string(0) ""
+Done
+
+--UEXPECTF--
+*** Testing stripslashes() : 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 stripslashes() by supplying different values for 'str' argument ---
+-- Iteration 1 --
+unicode(1) "0"
+-- Iteration 2 --
+unicode(1) "1"
+-- Iteration 3 --
+unicode(5) "12345"
+-- Iteration 4 --
+unicode(5) "-2345"
+-- Iteration 5 --
+unicode(4) "10.5"
+-- Iteration 6 --
+unicode(5) "-10.5"
+-- Iteration 7 --
+unicode(12) "105000000000"
+-- Iteration 8 --
+unicode(7) "1.06E-9"
+-- Iteration 9 --
+unicode(3) "0.5"
+-- Iteration 10 --
+
+Notice: Array to string conversion in %s on line %d
+unicode(5) "Array"
+-- Iteration 11 --
+
+Notice: Array to string conversion in %s on line %d
+unicode(5) "Array"
+-- Iteration 12 --
+
+Notice: Array to string conversion in %s on line %d
+unicode(5) "Array"
+-- Iteration 13 --
+
+Notice: Array to string conversion in %s on line %d
+unicode(5) "Array"
+-- Iteration 14 --
+
+Notice: Array to string conversion in %s on line %d
+unicode(5) "Array"
+-- Iteration 15 --
+unicode(1) "1"
+-- Iteration 16 --
+unicode(0) ""
+-- Iteration 17 --
+unicode(1) "1"
+-- Iteration 18 --
+unicode(0) ""
+-- Iteration 19 --
+unicode(0) ""
+-- Iteration 20 --
+unicode(0) ""
+-- Iteration 21 --
+unicode(0) ""
+-- Iteration 22 --
+unicode(0) ""
+-- Iteration 23 --
+unicode(6) "obj'ct"
+-- Iteration 24 --
+unicode(14) "Resource id #5"
+-- Iteration 25 --
+unicode(0) ""
+-- Iteration 26 --
+unicode(0) ""
+Done
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/stripslashes_variation2.phpt?r1=1.1&r2=1.2&diff_format=u
Index: php-src/ext/standard/tests/strings/stripslashes_variation2.phpt
diff -u /dev/null
php-src/ext/standard/tests/strings/stripslashes_variation2.phpt:1.2
--- /dev/null Fri Sep 7 14:03:33 2007
+++ php-src/ext/standard/tests/strings/stripslashes_variation2.phpt Fri Sep
7 14:03:33 2007
@@ -0,0 +1,561 @@
+--TEST--
+Test stripslashes() function : usage variations - un-quote strings quoted with
addslashes()
+--FILE--
+<?php
+/* Prototype : string stripslashes ( string $str )
+ * Description: Returns an un-quoted string
+ * Source code: ext/standard/string.c
+*/
+
+/*
+ * Test stripslashes() with various strings containing characters thats can be
backslashed.
+ * First adding slashes using addslashes() and then removing the slashes using
stripslashes()
+*/
+
+echo "*** Testing stripslashes() : with various strings containing backslashed
characters ***\n";
+
+// initialising a heredoc string
+$heredoc_string = <<<EOT
+This is line 1 of 'heredoc' string
+This is line 2 of "heredoc" string
+EOT;
+
+$heredoc_null_string =<<<EOT
+EOT;
+$heredoc_string_only_backslash =<<<EOT
+\
+EOT;
+$heredoc_string_only_single_quote =<<<EOT
+'
+EOT;
+$heredoc_string_only_double_quote =<<<EOT
+"
+EOT;
+
+// initialising the string array
+
+$str_array = array(
+ // string without any characters that can be backslashed
+ 'Hello world',
+
+ // string with single quotes
+ "how're you doing?",
+ "don't disturb u'r neighbours",
+ "don't disturb u'r neighbours''",
+ '',
+ '\'',
+ "'",
+ $heredoc_string_only_single_quote,
+
+ // string with double quotes
+ 'he said, "he will be on leave"',
+ 'he said, ""he will be on leave"',
+ '"""PHP"""',
+ "",
+ "\"",
+ '"',
+ "hello\"",
+ $heredoc_string_only_double_quote,
+
+ // string with backslash characters
+ 'Is your name Ram\Krishna?',
+ '\\0.0.0.0',
+ 'c:\php\testcase\stripslashes',
+ '\\',
+ $heredoc_string_only_backslash,
+
+ // string with nul characters
+ 'hello'.chr(0).'world',
+ chr(0).'hello'.chr(0),
+ chr(0).chr(0).'hello',
+ chr(0),
+
+ // mixed strings
+ "'\\0.0.0.0'",
+ "'\\0.0.0.0'".chr(0),
+ chr(0)."'c:\php\'",
+ '"\\0.0.0.0"',
+ '"c:\php\"'.chr(0)."'",
+ '"hello"'."'world'".chr(0).'//',
+
+ // string with hexadecimal number
+ "0xABCDEF0123456789",
+ "\x00",
+ '[EMAIL PROTECTED]&[EMAIL PROTECTED]&/;:,<>',
+ "hello\x00world",
+
+ // heredoc strings
+ $heredoc_string,
+ $heredoc_null_string
+ );
+
+$count = 1;
+// looping to test for all strings in $str_array
+foreach( $str_array as $str ) {
+ echo "\n-- Iteration $count --\n";
+ $str_addslashes = addslashes($str);
+ var_dump("The string after addslashes is:", $str_addslashes);
+ $str_stripslashes = stripslashes($str_addslashes);
+ var_dump("The string after stripslashes is:", $str_stripslashes);
+ if( strcmp($str, $str_stripslashes) != 0 )
+ echo "\nError: Original string and string from stripslash() donot match\n";
+ $count ++;
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+*** Testing stripslashes() : with various strings containing backslashed
characters ***
+
+-- Iteration 1 --
+string(31) "The string after addslashes is:"
+string(11) "Hello world"
+string(33) "The string after stripslashes is:"
+string(11) "Hello world"
+
+-- Iteration 2 --
+string(31) "The string after addslashes is:"
+string(18) "how\'re you doing?"
+string(33) "The string after stripslashes is:"
+string(17) "how're you doing?"
+
+-- Iteration 3 --
+string(31) "The string after addslashes is:"
+string(30) "don\'t disturb u\'r neighbours"
+string(33) "The string after stripslashes is:"
+string(28) "don't disturb u'r neighbours"
+
+-- Iteration 4 --
+string(31) "The string after addslashes is:"
+string(34) "don\'t disturb u\'r neighbours\'\'"
+string(33) "The string after stripslashes is:"
+string(30) "don't disturb u'r neighbours''"
+
+-- Iteration 5 --
+string(31) "The string after addslashes is:"
+string(0) ""
+string(33) "The string after stripslashes is:"
+string(0) ""
+
+-- Iteration 6 --
+string(31) "The string after addslashes is:"
+string(2) "\'"
+string(33) "The string after stripslashes is:"
+string(1) "'"
+
+-- Iteration 7 --
+string(31) "The string after addslashes is:"
+string(2) "\'"
+string(33) "The string after stripslashes is:"
+string(1) "'"
+
+-- Iteration 8 --
+string(31) "The string after addslashes is:"
+string(2) "\'"
+string(33) "The string after stripslashes is:"
+string(1) "'"
+
+-- Iteration 9 --
+string(31) "The string after addslashes is:"
+string(32) "he said, \"he will be on leave\""
+string(33) "The string after stripslashes is:"
+string(30) "he said, "he will be on leave""
+
+-- Iteration 10 --
+string(31) "The string after addslashes is:"
+string(34) "he said, \"\"he will be on leave\""
+string(33) "The string after stripslashes is:"
+string(31) "he said, ""he will be on leave""
+
+-- Iteration 11 --
+string(31) "The string after addslashes is:"
+string(15) "\"\"\"PHP\"\"\""
+string(33) "The string after stripslashes is:"
+string(9) """"PHP""""
+
+-- Iteration 12 --
+string(31) "The string after addslashes is:"
+string(0) ""
+string(33) "The string after stripslashes is:"
+string(0) ""
+
+-- Iteration 13 --
+string(31) "The string after addslashes is:"
+string(2) "\""
+string(33) "The string after stripslashes is:"
+string(1) """
+
+-- Iteration 14 --
+string(31) "The string after addslashes is:"
+string(2) "\""
+string(33) "The string after stripslashes is:"
+string(1) """
+
+-- Iteration 15 --
+string(31) "The string after addslashes is:"
+string(7) "hello\""
+string(33) "The string after stripslashes is:"
+string(6) "hello""
+
+-- Iteration 16 --
+string(31) "The string after addslashes is:"
+string(2) "\""
+string(33) "The string after stripslashes is:"
+string(1) """
+
+-- Iteration 17 --
+string(31) "The string after addslashes is:"
+string(26) "Is your name Ram\\Krishna?"
+string(33) "The string after stripslashes is:"
+string(25) "Is your name Ram\Krishna?"
+
+-- Iteration 18 --
+string(31) "The string after addslashes is:"
+string(9) "\\0.0.0.0"
+string(33) "The string after stripslashes is:"
+string(8) "\0.0.0.0"
+
+-- Iteration 19 --
+string(31) "The string after addslashes is:"
+string(31) "c:\\php\\testcase\\stripslashes"
+string(33) "The string after stripslashes is:"
+string(28) "c:\php\testcase\stripslashes"
+
+-- Iteration 20 --
+string(31) "The string after addslashes is:"
+string(2) "\\"
+string(33) "The string after stripslashes is:"
+string(1) "\"
+
+-- Iteration 21 --
+string(31) "The string after addslashes is:"
+string(2) "\0"
+string(33) "The string after stripslashes is:"
+string(1) "+
+-- Iteration 22 --
+string(31) "The string after addslashes is:"
+string(12) "hello\0world"
+string(33) "The string after stripslashes is:"
+string(11) "hello+
+-- Iteration 23 --
+string(31) "The string after addslashes is:"
+string(9) "\0hello\0"
+string(33) "The string after stripslashes is:"
+string(7) "+
+-- Iteration 24 --
+string(31) "The string after addslashes is:"
+string(9) "\0\0hello"
+string(33) "The string after stripslashes is:"
+string(7) "+
+-- Iteration 25 --
+string(31) "The string after addslashes is:"
+string(2) "\0"
+string(33) "The string after stripslashes is:"
+string(1) "+
+-- Iteration 26 --
+string(31) "The string after addslashes is:"
+string(13) "\'\\0.0.0.0\'"
+string(33) "The string after stripslashes is:"
+string(10) "'\0.0.0.0'"
+
+-- Iteration 27 --
+string(31) "The string after addslashes is:"
+string(15) "\'\\0.0.0.0\'\0"
+string(33) "The string after stripslashes is:"
+string(11) "'\0.0.0.0'+
+-- Iteration 28 --
+string(31) "The string after addslashes is:"
+string(15) "\0\'c:\\php\\\'"
+string(33) "The string after stripslashes is:"
+string(10) "+
+-- Iteration 29 --
+string(31) "The string after addslashes is:"
+string(13) "\"\\0.0.0.0\""
+string(33) "The string after stripslashes is:"
+string(10) ""\0.0.0.0""
+
+-- Iteration 30 --
+string(31) "The string after addslashes is:"
+string(17) "\"c:\\php\\\"\0\'"
+string(33) "The string after stripslashes is:"
+string(11) ""c:\php\"+
+-- Iteration 31 --
+string(31) "The string after addslashes is:"
+string(22) "\"hello\"\'world\'\0//"
+string(33) "The string after stripslashes is:"
+string(17) ""hello"'world'+
+-- Iteration 32 --
+string(31) "The string after addslashes is:"
+string(18) "0xABCDEF0123456789"
+string(33) "The string after stripslashes is:"
+string(18) "0xABCDEF0123456789"
+
+-- Iteration 33 --
+string(31) "The string after addslashes is:"
+string(2) "\0"
+string(33) "The string after stripslashes is:"
+string(1) "+
+-- Iteration 34 --
+string(31) "The string after addslashes is:"
+string(18) "[EMAIL PROTECTED]&[EMAIL PROTECTED]&/;:,<>"
+string(33) "The string after stripslashes is:"
+string(18) "[EMAIL PROTECTED]&[EMAIL PROTECTED]&/;:,<>"
+
+-- Iteration 35 --
+string(31) "The string after addslashes is:"
+string(12) "hello\0world"
+string(33) "The string after stripslashes is:"
+string(11) "hello+
+-- Iteration 36 --
+string(31) "The string after addslashes is:"
+string(73) "This is line 1 of \'heredoc\' string
+This is line 2 of \"heredoc\" string"
+string(33) "The string after stripslashes is:"
+string(69) "This is line 1 of 'heredoc' string
+This is line 2 of "heredoc" string"
+
+-- Iteration 37 --
+string(31) "The string after addslashes is:"
+string(0) ""
+string(33) "The string after stripslashes is:"
+string(0) ""
+Done
+
+--UEXPECTF--
+*** Testing stripslashes() : with various strings containing backslashed
characters ***
+
+-- Iteration 1 --
+unicode(31) "The string after addslashes is:"
+unicode(11) "Hello world"
+unicode(33) "The string after stripslashes is:"
+unicode(11) "Hello world"
+
+-- Iteration 2 --
+unicode(31) "The string after addslashes is:"
+unicode(18) "how\'re you doing?"
+unicode(33) "The string after stripslashes is:"
+unicode(17) "how're you doing?"
+
+-- Iteration 3 --
+unicode(31) "The string after addslashes is:"
+unicode(30) "don\'t disturb u\'r neighbours"
+unicode(33) "The string after stripslashes is:"
+unicode(28) "don't disturb u'r neighbours"
+
+-- Iteration 4 --
+unicode(31) "The string after addslashes is:"
+unicode(34) "don\'t disturb u\'r neighbours\'\'"
+unicode(33) "The string after stripslashes is:"
+unicode(30) "don't disturb u'r neighbours''"
+
+-- Iteration 5 --
+unicode(31) "The string after addslashes is:"
+unicode(0) ""
+unicode(33) "The string after stripslashes is:"
+unicode(0) ""
+
+-- Iteration 6 --
+unicode(31) "The string after addslashes is:"
+unicode(2) "\'"
+unicode(33) "The string after stripslashes is:"
+unicode(1) "'"
+
+-- Iteration 7 --
+unicode(31) "The string after addslashes is:"
+unicode(2) "\'"
+unicode(33) "The string after stripslashes is:"
+unicode(1) "'"
+
+-- Iteration 8 --
+unicode(31) "The string after addslashes is:"
+unicode(2) "\'"
+unicode(33) "The string after stripslashes is:"
+unicode(1) "'"
+
+-- Iteration 9 --
+unicode(31) "The string after addslashes is:"
+unicode(32) "he said, \"he will be on leave\""
+unicode(33) "The string after stripslashes is:"
+unicode(30) "he said, "he will be on leave""
+
+-- Iteration 10 --
+unicode(31) "The string after addslashes is:"
+unicode(34) "he said, \"\"he will be on leave\""
+unicode(33) "The string after stripslashes is:"
+unicode(31) "he said, ""he will be on leave""
+
+-- Iteration 11 --
+unicode(31) "The string after addslashes is:"
+unicode(15) "\"\"\"PHP\"\"\""
+unicode(33) "The string after stripslashes is:"
+unicode(9) """"PHP""""
+
+-- Iteration 12 --
+unicode(31) "The string after addslashes is:"
+unicode(0) ""
+unicode(33) "The string after stripslashes is:"
+unicode(0) ""
+
+-- Iteration 13 --
+unicode(31) "The string after addslashes is:"
+unicode(2) "\""
+unicode(33) "The string after stripslashes is:"
+unicode(1) """
+
+-- Iteration 14 --
+unicode(31) "The string after addslashes is:"
+unicode(2) "\""
+unicode(33) "The string after stripslashes is:"
+unicode(1) """
+
+-- Iteration 15 --
+unicode(31) "The string after addslashes is:"
+unicode(7) "hello\""
+unicode(33) "The string after stripslashes is:"
+unicode(6) "hello""
+
+-- Iteration 16 --
+unicode(31) "The string after addslashes is:"
+unicode(2) "\""
+unicode(33) "The string after stripslashes is:"
+unicode(1) """
+
+-- Iteration 17 --
+unicode(31) "The string after addslashes is:"
+unicode(26) "Is your name Ram\\Krishna?"
+unicode(33) "The string after stripslashes is:"
+unicode(25) "Is your name Ram\Krishna?"
+
+-- Iteration 18 --
+unicode(31) "The string after addslashes is:"
+unicode(9) "\\0.0.0.0"
+unicode(33) "The string after stripslashes is:"
+unicode(8) "\0.0.0.0"
+
+-- Iteration 19 --
+unicode(31) "The string after addslashes is:"
+unicode(31) "c:\\php\\testcase\\stripslashes"
+unicode(33) "The string after stripslashes is:"
+unicode(28) "c:\php\testcase\stripslashes"
+
+-- Iteration 20 --
+unicode(31) "The string after addslashes is:"
+unicode(2) "\\"
+unicode(33) "The string after stripslashes is:"
+unicode(1) "\"
+
+-- Iteration 21 --
+unicode(31) "The string after addslashes is:"
+unicode(2) "\0"
+unicode(33) "The string after stripslashes is:"
+unicode(1) "+
+-- Iteration 22 --
+unicode(31) "The string after addslashes is:"
+unicode(12) "hello\0world"
+unicode(33) "The string after stripslashes is:"
+unicode(11) "hello+
+-- Iteration 23 --
+unicode(31) "The string after addslashes is:"
+unicode(9) "\0hello\0"
+unicode(33) "The string after stripslashes is:"
+unicode(7) "+
+-- Iteration 24 --
+unicode(31) "The string after addslashes is:"
+unicode(9) "\0\0hello"
+unicode(33) "The string after stripslashes is:"
+unicode(7) "+
+-- Iteration 25 --
+unicode(31) "The string after addslashes is:"
+unicode(2) "\0"
+unicode(33) "The string after stripslashes is:"
+unicode(1) "+
+-- Iteration 26 --
+unicode(31) "The string after addslashes is:"
+unicode(13) "\'\\0.0.0.0\'"
+unicode(33) "The string after stripslashes is:"
+unicode(10) "'\0.0.0.0'"
+
+-- Iteration 27 --
+unicode(31) "The string after addslashes is:"
+unicode(15) "\'\\0.0.0.0\'\0"
+unicode(33) "The string after stripslashes is:"
+unicode(11) "'\0.0.0.0'+
+-- Iteration 28 --
+unicode(31) "The string after addslashes is:"
+unicode(15) "\0\'c:\\php\\\'"
+unicode(33) "The string after stripslashes is:"
+unicode(10) "+
+-- Iteration 29 --
+unicode(31) "The string after addslashes is:"
+unicode(13) "\"\\0.0.0.0\""
+unicode(33) "The string after stripslashes is:"
+unicode(10) ""\0.0.0.0""
+
+-- Iteration 30 --
+unicode(31) "The string after addslashes is:"
+unicode(17) "\"c:\\php\\\"\0\'"
+unicode(33) "The string after stripslashes is:"
+unicode(11) ""c:\php\"+
+-- Iteration 31 --
+unicode(31) "The string after addslashes is:"
+unicode(22) "\"hello\"\'world\'\0//"
+unicode(33) "The string after stripslashes is:"
+unicode(17) ""hello"'world'+
+-- Iteration 32 --
+unicode(31) "The string after addslashes is:"
+unicode(18) "0xABCDEF0123456789"
+unicode(33) "The string after stripslashes is:"
+unicode(18) "0xABCDEF0123456789"
+
+-- Iteration 33 --
+unicode(31) "The string after addslashes is:"
+unicode(2) "\0"
+unicode(33) "The string after stripslashes is:"
+unicode(1) "+
+-- Iteration 34 --
+unicode(31) "The string after addslashes is:"
+unicode(18) "[EMAIL PROTECTED]&[EMAIL PROTECTED]&/;:,<>"
+unicode(33) "The string after stripslashes is:"
+unicode(18) "[EMAIL PROTECTED]&[EMAIL PROTECTED]&/;:,<>"
+
+-- Iteration 35 --
+unicode(31) "The string after addslashes is:"
+unicode(12) "hello\0world"
+unicode(33) "The string after stripslashes is:"
+unicode(11) "hello+
+-- Iteration 36 --
+unicode(31) "The string after addslashes is:"
+unicode(73) "This is line 1 of \'heredoc\' string
+This is line 2 of \"heredoc\" string"
+unicode(33) "The string after stripslashes is:"
+unicode(69) "This is line 1 of 'heredoc' string
+This is line 2 of "heredoc" string"
+
+-- Iteration 37 --
+unicode(31) "The string after addslashes is:"
+unicode(0) ""
+unicode(33) "The string after stripslashes is:"
+unicode(0) ""
+Done
\ No newline at end of file
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/stripslashes_variation3.phpt?r1=1.1&r2=1.2&diff_format=u
Index: php-src/ext/standard/tests/strings/stripslashes_variation3.phpt
diff -u /dev/null
php-src/ext/standard/tests/strings/stripslashes_variation3.phpt:1.2
--- /dev/null Fri Sep 7 14:03:33 2007
+++ php-src/ext/standard/tests/strings/stripslashes_variation3.phpt Fri Sep
7 14:03:33 2007
@@ -0,0 +1,188 @@
+--TEST--
+Test stripslashes() function : usage variations - strings with newline and tab
characters
+--FILE--
+<?php
+/* Prototype : string stripslashes ( string $str )
+ * Description: Returns an un-quoted string
+ * Source code: ext/standard/string.c
+*/
+
+/*
+ * Test stripslashes() with strings containing newline and tab characters.
+*/
+
+echo "*** Testing stripslashes() : with strings containing newline and tab
characters ***\n";
+
+// initialising heredoc strings
+$heredoc_string_with_newline = <<<EOT
+This is line 1 \nof 'heredoc' string
+This is line 2 \nof "heredoc" string
+EOT;
+
+$heredoc_string_with_tab = <<<EOT
+This is line 1 \tof 'heredoc' string
+This is line 2 \tof "heredoc" string
+EOT;
+// initialising the string array
+
+$str_array = array(
+ // string with newline character
+ "\n",
+ "\\n",
+ "Hello \nworld",
+ "Hello \\nworld",
+ '\n',
+ '\\n',
+ 'Hello \nworld',
+ 'Hello \\nworld',
+ $heredoc_string_with_newline,
+
+ // string with tab character
+ "\t",
+ "\\t",
+ "Hello \tworld",
+ "Hello \\tworld",
+ '\t',
+ '\\t',
+ 'Hello \tworld',
+ 'Hello \\tworld',
+ $heredoc_string_with_tab
+ );
+
+$count = 1;
+// looping to test for all strings in $str_array
+foreach( $str_array as $str ) {
+ echo "\n-- Iteration $count --\n";
+ var_dump( stripslashes($str) );
+ $count ++;
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+*** Testing stripslashes() : with strings containing newline and tab
characters ***
+
+-- Iteration 1 --
+string(1) "
+"
+
+-- Iteration 2 --
+string(1) "n"
+
+-- Iteration 3 --
+string(12) "Hello
+world"
+
+-- Iteration 4 --
+string(12) "Hello nworld"
+
+-- Iteration 5 --
+string(1) "n"
+
+-- Iteration 6 --
+string(1) "n"
+
+-- Iteration 7 --
+string(12) "Hello nworld"
+
+-- Iteration 8 --
+string(12) "Hello nworld"
+
+-- Iteration 9 --
+string(71) "This is line 1
+of 'heredoc' string
+This is line 2
+of "heredoc" string"
+
+-- Iteration 10 --
+string(1) " "
+
+-- Iteration 11 --
+string(1) "t"
+
+-- Iteration 12 --
+string(12) "Hello world"
+
+-- Iteration 13 --
+string(12) "Hello tworld"
+
+-- Iteration 14 --
+string(1) "t"
+
+-- Iteration 15 --
+string(1) "t"
+
+-- Iteration 16 --
+string(12) "Hello tworld"
+
+-- Iteration 17 --
+string(12) "Hello tworld"
+
+-- Iteration 18 --
+string(71) "This is line 1 of 'heredoc' string
+This is line 2 of "heredoc" string"
+Done
+
+--UEXPECTF--
+*** Testing stripslashes() : with strings containing newline and tab
characters ***
+
+-- Iteration 1 --
+unicode(1) "
+"
+
+-- Iteration 2 --
+unicode(1) "n"
+
+-- Iteration 3 --
+unicode(12) "Hello
+world"
+
+-- Iteration 4 --
+unicode(12) "Hello nworld"
+
+-- Iteration 5 --
+unicode(1) "n"
+
+-- Iteration 6 --
+unicode(1) "n"
+
+-- Iteration 7 --
+unicode(12) "Hello nworld"
+
+-- Iteration 8 --
+unicode(12) "Hello nworld"
+
+-- Iteration 9 --
+unicode(71) "This is line 1
+of 'heredoc' string
+This is line 2
+of "heredoc" string"
+
+-- Iteration 10 --
+unicode(1) " "
+
+-- Iteration 11 --
+unicode(1) "t"
+
+-- Iteration 12 --
+unicode(12) "Hello world"
+
+-- Iteration 13 --
+unicode(12) "Hello tworld"
+
+-- Iteration 14 --
+unicode(1) "t"
+
+-- Iteration 15 --
+unicode(1) "t"
+
+-- Iteration 16 --
+unicode(12) "Hello tworld"
+
+-- Iteration 17 --
+unicode(12) "Hello tworld"
+
+-- Iteration 18 --
+unicode(71) "This is line 1 of 'heredoc' string
+This is line 2 of "heredoc" string"
+Done
\ No newline at end of file
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/stripslashes_basic.phpt?r1=1.1&r2=1.2&diff_format=u
Index: php-src/ext/standard/tests/strings/stripslashes_basic.phpt
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/stripslashes_variation4.phpt?r1=1.1&r2=1.2&diff_format=u
Index: php-src/ext/standard/tests/strings/stripslashes_variation4.phpt
diff -u /dev/null
php-src/ext/standard/tests/strings/stripslashes_variation4.phpt:1.2
--- /dev/null Fri Sep 7 14:03:33 2007
+++ php-src/ext/standard/tests/strings/stripslashes_variation4.phpt Fri Sep
7 14:03:33 2007
@@ -0,0 +1,227 @@
+--TEST--
+Test stripslashes() function : usage variations - double dimensional arrays
+--FILE--
+<?php
+/* Prototype : string stripslashes ( string $str )
+ * Description: Returns an un-quoted string
+ * Source code: ext/standard/string.c
+*/
+
+/*
+ * Test stripslashes() with double dimensional arrays
+*/
+
+echo "*** Testing stripslashes() : with double dimensional arrays ***\n";
+
+// initialising the string array
+
+$str_array = array(
+ array("", array()),
+ array("", array("")),
+ array("f\\'oo", "b\\'ar", array("fo\\'o", "b\\'ar")),
+ array("f\\'oo", "b\\'ar", array("")),
+ array("f\\'oo", "b\\'ar", array("fo\\'o", "b\\'ar",
array(""))),
+ array("f\\'oo", "b\\'ar", array("fo\\'o", "b\\'ar",
array("fo\\'o", "b\\'ar")))
+ );
+function stripslashes_deep($value) {
+ $value = is_array($value) ? array_map('stripslashes_deep', $value) :
stripslashes($value);
+ return $value;
+}
+
+$count = 1;
+// looping to test for all strings in $str_array
+foreach( $str_array as $arr ) {
+ echo "\n-- Iteration $count --\n";
+ var_dump( stripslashes_deep($arr) );
+ $count ++;
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+*** Testing stripslashes() : with double dimensional arrays ***
+
+-- Iteration 1 --
+array(2) {
+ [0]=>
+ string(0) ""
+ [1]=>
+ array(0) {
+ }
+}
+
+-- Iteration 2 --
+array(2) {
+ [0]=>
+ string(0) ""
+ [1]=>
+ array(1) {
+ [0]=>
+ string(0) ""
+ }
+}
+
+-- Iteration 3 --
+array(3) {
+ [0]=>
+ string(4) "f'oo"
+ [1]=>
+ string(4) "b'ar"
+ [2]=>
+ array(2) {
+ [0]=>
+ string(4) "fo'o"
+ [1]=>
+ string(4) "b'ar"
+ }
+}
+
+-- Iteration 4 --
+array(3) {
+ [0]=>
+ string(4) "f'oo"
+ [1]=>
+ string(4) "b'ar"
+ [2]=>
+ array(1) {
+ [0]=>
+ string(0) ""
+ }
+}
+
+-- Iteration 5 --
+array(3) {
+ [0]=>
+ string(4) "f'oo"
+ [1]=>
+ string(4) "b'ar"
+ [2]=>
+ array(3) {
+ [0]=>
+ string(4) "fo'o"
+ [1]=>
+ string(4) "b'ar"
+ [2]=>
+ array(1) {
+ [0]=>
+ string(0) ""
+ }
+ }
+}
+
+-- Iteration 6 --
+array(3) {
+ [0]=>
+ string(4) "f'oo"
+ [1]=>
+ string(4) "b'ar"
+ [2]=>
+ array(3) {
+ [0]=>
+ string(4) "fo'o"
+ [1]=>
+ string(4) "b'ar"
+ [2]=>
+ array(2) {
+ [0]=>
+ string(4) "fo'o"
+ [1]=>
+ string(4) "b'ar"
+ }
+ }
+}
+Done
+
+--UEXPECTF--
+*** Testing stripslashes() : with double dimensional arrays ***
+
+-- Iteration 1 --
+array(2) {
+ [0]=>
+ unicode(0) ""
+ [1]=>
+ array(0) {
+ }
+}
+
+-- Iteration 2 --
+array(2) {
+ [0]=>
+ unicode(0) ""
+ [1]=>
+ array(1) {
+ [0]=>
+ unicode(0) ""
+ }
+}
+
+-- Iteration 3 --
+array(3) {
+ [0]=>
+ unicode(4) "f'oo"
+ [1]=>
+ unicode(4) "b'ar"
+ [2]=>
+ array(2) {
+ [0]=>
+ unicode(4) "fo'o"
+ [1]=>
+ unicode(4) "b'ar"
+ }
+}
+
+-- Iteration 4 --
+array(3) {
+ [0]=>
+ unicode(4) "f'oo"
+ [1]=>
+ unicode(4) "b'ar"
+ [2]=>
+ array(1) {
+ [0]=>
+ unicode(0) ""
+ }
+}
+
+-- Iteration 5 --
+array(3) {
+ [0]=>
+ unicode(4) "f'oo"
+ [1]=>
+ unicode(4) "b'ar"
+ [2]=>
+ array(3) {
+ [0]=>
+ unicode(4) "fo'o"
+ [1]=>
+ unicode(4) "b'ar"
+ [2]=>
+ array(1) {
+ [0]=>
+ unicode(0) ""
+ }
+ }
+}
+
+-- Iteration 6 --
+array(3) {
+ [0]=>
+ unicode(4) "f'oo"
+ [1]=>
+ unicode(4) "b'ar"
+ [2]=>
+ array(3) {
+ [0]=>
+ unicode(4) "fo'o"
+ [1]=>
+ unicode(4) "b'ar"
+ [2]=>
+ array(2) {
+ [0]=>
+ unicode(4) "fo'o"
+ [1]=>
+ unicode(4) "b'ar"
+ }
+ }
+}
+Done
\ No newline at end of file
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/stripslashes_error.phpt?r1=1.1&r2=1.2&diff_format=u
Index: php-src/ext/standard/tests/strings/stripslashes_error.phpt
diff -u /dev/null php-src/ext/standard/tests/strings/stripslashes_error.phpt:1.2
--- /dev/null Fri Sep 7 14:03:33 2007
+++ php-src/ext/standard/tests/strings/stripslashes_error.phpt Fri Sep 7
14:03:33 2007
@@ -0,0 +1,58 @@
+--TEST--
+Test stripslashes() function : error conditions
+--FILE--
+<?php
+/* Prototype : string stripslashes ( string $str )
+ * Description: Returns an un-quoted string
+ * Source code: ext/standard/string.c
+*/
+
+/*
+ * Testing stripslashes() for error conditions
+*/
+
+echo "*** Testing stripslashes() : error conditions ***\n";
+
+// Zero argument
+echo "\n-- Testing stripslashes() function with Zero arguments --\n";
+var_dump( stripslashes() );
+
+// More than expected number of arguments
+echo "\n-- Testing stripslashes() function with more than expected no. of
arguments --\n";
+$str = '\"hello\"\"world\"';
+$extra_arg = 10;
+
+var_dump( stripslashes($str, $extra_arg) );
+var_dump( $str );
+
+echo "Done\n";
+?>
+--EXPECTF--
+*** Testing stripslashes() : error conditions ***
+
+-- Testing stripslashes() function with Zero arguments --
+
+Warning: Wrong parameter count for stripslashes() in %s on line %d
+NULL
+
+-- Testing stripslashes() function with more than expected no. of arguments --
+
+Warning: Wrong parameter count for stripslashes() in %s on line %d
+NULL
+string(18) "\"hello\"\"world\""
+Done
+
+--UEXPECTF--
+*** Testing stripslashes() : error conditions ***
+
+-- Testing stripslashes() function with Zero arguments --
+
+Warning: Wrong parameter count for stripslashes() in %s on line %d
+NULL
+
+-- Testing stripslashes() function with more than expected no. of arguments --
+
+Warning: Wrong parameter count for stripslashes() in %s on line %d
+NULL
+unicode(18) "\"hello\"\"world\""
+Done
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php