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

Reply via email to