]> granicus.if.org Git - php/commitdiff
New testcases for chop()
authorRaghubansh Kumar <kraghuba@php.net>
Fri, 14 Sep 2007 19:14:52 +0000 (19:14 +0000)
committerRaghubansh Kumar <kraghuba@php.net>
Fri, 14 Sep 2007 19:14:52 +0000 (19:14 +0000)
ext/standard/tests/strings/chop_basic.phpt [new file with mode: 0644]
ext/standard/tests/strings/chop_error.phpt [new file with mode: 0644]
ext/standard/tests/strings/chop_variation1.phpt [new file with mode: 0644]
ext/standard/tests/strings/chop_variation2.phpt [new file with mode: 0644]
ext/standard/tests/strings/chop_variation3.phpt [new file with mode: 0644]
ext/standard/tests/strings/chop_variation4.phpt [new file with mode: 0644]
ext/standard/tests/strings/chop_variation5.phpt [new file with mode: 0644]

diff --git a/ext/standard/tests/strings/chop_basic.phpt b/ext/standard/tests/strings/chop_basic.phpt
new file mode 100644 (file)
index 0000000..d08059f
Binary files /dev/null and b/ext/standard/tests/strings/chop_basic.phpt differ
diff --git a/ext/standard/tests/strings/chop_error.phpt b/ext/standard/tests/strings/chop_error.phpt
new file mode 100644 (file)
index 0000000..ae6fad5
--- /dev/null
@@ -0,0 +1,59 @@
+--TEST--
+Test chop() function : error conditions 
+--FILE--
+<?php
+/* Prototype  : string chop ( string $str [, string $charlist] )
+ * Description: Strip whitespace (or other characters) from the end of a string
+ * Source code: ext/standard/string.c
+*/
+
+/*
+ * Testing chop() : error conditions
+*/
+
+echo "*** Testing chop() : error conditions ***\n";
+
+// Zero argument
+echo "\n-- Testing chop() function with Zero arguments --\n";
+var_dump( chop() );
+
+// More than expected number of arguments
+echo "\n-- Testing chop() function with more than expected no. of arguments --\n";
+$str = 'string_val ';
+$charlist = 'string_val';
+$extra_arg = 10;
+
+var_dump( chop($str, $charlist, $extra_arg) );
+var_dump( $str );
+
+echo "Done\n";
+?>
+--EXPECTF--
+*** Testing chop() : error conditions ***
+
+-- Testing chop() function with Zero arguments --
+
+Warning: chop() expects at least 1 parameter, 0 given in %s on line %d
+NULL
+
+-- Testing chop() function with more than expected no. of arguments --
+
+Warning: chop() expects at most 2 parameters, 3 given in %s on line %d
+NULL
+string(11) "string_val "
+Done
+
+--UEXPECTF--
+*** Testing chop() : error conditions ***
+
+-- Testing chop() function with Zero arguments --
+
+Warning: chop() expects at least 1 parameter, 0 given in %s on line %d
+NULL
+
+-- Testing chop() function with more than expected no. of arguments --
+
+Warning: chop() expects at most 2 parameters, 3 given in %s on line %d
+NULL
+unicode(11) "string_val "
+Done
diff --git a/ext/standard/tests/strings/chop_variation1.phpt b/ext/standard/tests/strings/chop_variation1.phpt
new file mode 100644 (file)
index 0000000..1c46f3b
--- /dev/null
@@ -0,0 +1,326 @@
+--TEST--
+Test chop() function : usage variations  - unexpected values for str argument 
+--FILE--
+<?php
+/* Prototype  : string chop ( string $str [, string $charlist] )
+ * Description: Strip whitespace (or other characters) from the end of a string
+ * Source code: ext/standard/string.c
+*/
+
+/*
+ * Testing chop() : with different unexpected values for str argument passed to the function 
+*/
+
+echo "*** Testing chop() : with unexpected values for str argument passed to the function ***\n";
+// initialize all required variables
+
+$charlist = " @#$%1234567890";
+// get an unset variable
+$unset_var = 'string_val';
+unset($unset_var);
+
+// declaring class
+class sample  {
+  public function __toString() {
+    return " @#$%Object @#$%";
+  }
+}
+$sample_obj = new sample;
+
+// creating a file 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
+  "",
+  '',
+
+  // null vlaues
+  NULL,
+  null,
+
+  // undefined variable
+  $undefined_var,
+
+  // unset variable
+  $unset_var,
+  // object
+  $sample_obj,
+  
+  // resource
+  $file_handle
+);
+
+
+// loop through each element of the array and check the working of chop()
+// when $str arugment is supplied with different values
+
+echo "\n--- Testing chop() 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( chop($str) );
+  var_dump( chop($str, $charlist) );
+
+  $counter ++;
+}
+
+// closing the resource
+fclose( $file_handle);
+
+echo "Done\n";
+?>
+--EXPECTF--
+*** Testing chop() : with unexpected values for str argument passed to the function ***
+
+Notice: Undefined variable: undefined_var in %s on line %d
+
+Notice: Undefined variable: unset_var in %s on line %d
+
+--- Testing chop() by supplying different values for 'str' argument ---
+-- Iteration 1 --
+string(1) "0"
+string(0) ""
+-- Iteration 2 --
+string(1) "1"
+string(0) ""
+-- Iteration 3 --
+string(5) "12345"
+string(0) ""
+-- Iteration 4 --
+string(5) "-2345"
+string(1) "-"
+-- Iteration 5 --
+string(4) "10.5"
+string(3) "10."
+-- Iteration 6 --
+string(5) "-10.5"
+string(4) "-10."
+-- Iteration 7 --
+string(12) "105000000000"
+string(0) ""
+-- Iteration 8 --
+string(7) "1.06E-9"
+string(6) "1.06E-"
+-- Iteration 9 --
+string(3) "0.5"
+string(2) "0."
+-- Iteration 10 --
+
+Warning: chop() expects parameter 1 to be string (Unicode or binary), array given in %s on line %d
+NULL
+
+Warning: chop() expects parameter 1 to be string (Unicode or binary), array given in %s on line %d
+NULL
+-- Iteration 11 --
+
+Warning: chop() expects parameter 1 to be string (Unicode or binary), array given in %s on line %d
+NULL
+
+Warning: chop() expects parameter 1 to be string (Unicode or binary), array given in %s on line %d
+NULL
+-- Iteration 12 --
+
+Warning: chop() expects parameter 1 to be string (Unicode or binary), array given in %s on line %d
+NULL
+
+Warning: chop() expects parameter 1 to be string (Unicode or binary), array given in %s on line %d
+NULL
+-- Iteration 13 --
+
+Warning: chop() expects parameter 1 to be string (Unicode or binary), array given in %s on line %d
+NULL
+
+Warning: chop() expects parameter 1 to be string (Unicode or binary), array given in %s on line %d
+NULL
+-- Iteration 14 --
+
+Warning: chop() expects parameter 1 to be string (Unicode or binary), array given in %s on line %d
+NULL
+
+Warning: chop() expects parameter 1 to be string (Unicode or binary), array given in %s on line %d
+NULL
+-- Iteration 15 --
+string(1) "1"
+string(0) ""
+-- Iteration 16 --
+string(0) ""
+string(0) ""
+-- Iteration 17 --
+string(1) "1"
+string(0) ""
+-- Iteration 18 --
+string(0) ""
+string(0) ""
+-- Iteration 19 --
+string(0) ""
+string(0) ""
+-- Iteration 20 --
+string(0) ""
+string(0) ""
+-- Iteration 21 --
+string(0) ""
+string(0) ""
+-- Iteration 22 --
+string(0) ""
+string(0) ""
+-- Iteration 23 --
+string(0) ""
+string(0) ""
+-- Iteration 24 --
+string(0) ""
+string(0) ""
+-- Iteration 25 --
+string(16) " @#$%Object @#$%"
+string(11) " @#$%Object"
+-- Iteration 26 --
+
+Warning: chop() expects parameter 1 to be string (Unicode or binary), resource given in %s on line %d
+NULL
+
+Warning: chop() expects parameter 1 to be string (Unicode or binary), resource given in %s on line %d
+NULL
+Done
+
+--UEXPECTF--
+*** Testing chop() : with unexpected values for str argument passed to the function ***
+
+Notice: Undefined variable: undefined_var in %s on line %d
+
+Notice: Undefined variable: unset_var in %s on line %d
+
+--- Testing chop() by supplying different values for 'str' argument ---
+-- Iteration 1 --
+unicode(1) "0"
+unicode(0) ""
+-- Iteration 2 --
+unicode(1) "1"
+unicode(0) ""
+-- Iteration 3 --
+unicode(5) "12345"
+unicode(0) ""
+-- Iteration 4 --
+unicode(5) "-2345"
+unicode(1) "-"
+-- Iteration 5 --
+unicode(4) "10.5"
+unicode(3) "10."
+-- Iteration 6 --
+unicode(5) "-10.5"
+unicode(4) "-10."
+-- Iteration 7 --
+unicode(12) "105000000000"
+unicode(0) ""
+-- Iteration 8 --
+unicode(7) "1.06E-9"
+unicode(6) "1.06E-"
+-- Iteration 9 --
+unicode(3) "0.5"
+unicode(2) "0."
+-- Iteration 10 --
+
+Warning: chop() expects parameter 1 to be string (Unicode or binary), array given in %s on line %d
+NULL
+
+Warning: chop() expects parameter 1 to be string (Unicode or binary), array given in %s on line %d
+NULL
+-- Iteration 11 --
+
+Warning: chop() expects parameter 1 to be string (Unicode or binary), array given in %s on line %d
+NULL
+
+Warning: chop() expects parameter 1 to be string (Unicode or binary), array given in %s on line %d
+NULL
+-- Iteration 12 --
+
+Warning: chop() expects parameter 1 to be string (Unicode or binary), array given in %s on line %d
+NULL
+
+Warning: chop() expects parameter 1 to be string (Unicode or binary), array given in %s on line %d
+NULL
+-- Iteration 13 --
+
+Warning: chop() expects parameter 1 to be string (Unicode or binary), array given in %s on line %d
+NULL
+
+Warning: chop() expects parameter 1 to be string (Unicode or binary), array given in %s on line %d
+NULL
+-- Iteration 14 --
+
+Warning: chop() expects parameter 1 to be string (Unicode or binary), array given in %s on line %d
+NULL
+
+Warning: chop() expects parameter 1 to be string (Unicode or binary), array given in %s on line %d
+NULL
+-- Iteration 15 --
+unicode(1) "1"
+unicode(0) ""
+-- Iteration 16 --
+unicode(0) ""
+unicode(0) ""
+-- Iteration 17 --
+unicode(1) "1"
+unicode(0) ""
+-- Iteration 18 --
+unicode(0) ""
+unicode(0) ""
+-- Iteration 19 --
+unicode(0) ""
+unicode(0) ""
+-- Iteration 20 --
+unicode(0) ""
+unicode(0) ""
+-- Iteration 21 --
+unicode(0) ""
+unicode(0) ""
+-- Iteration 22 --
+unicode(0) ""
+unicode(0) ""
+-- Iteration 23 --
+unicode(0) ""
+unicode(0) ""
+-- Iteration 24 --
+unicode(0) ""
+unicode(0) ""
+-- Iteration 25 --
+unicode(16) " @#$%Object @#$%"
+unicode(11) " @#$%Object"
+-- Iteration 26 --
+
+Warning: chop() expects parameter 1 to be string (Unicode or binary), resource given in %s on line %d
+NULL
+
+Warning: chop() expects parameter 1 to be string (Unicode or binary), resource given in %s on line %d
+NULL
+Done
diff --git a/ext/standard/tests/strings/chop_variation2.phpt b/ext/standard/tests/strings/chop_variation2.phpt
new file mode 100644 (file)
index 0000000..b202ebf
--- /dev/null
@@ -0,0 +1,248 @@
+--TEST--
+Test chop() function : usage variations  - unexpected values for charlist argument
+--FILE--
+<?php
+/* Prototype  : string chop ( string $str [, string $charlist] )
+ * Description: Strip whitespace (or other characters) from the end of a string
+ * Source code: ext/standard/string.c
+*/
+
+/*
+ * Testing chop() : with different unexpected values of charlist argument passed tot he function
+*/
+
+echo "*** Testing chop() : with unexpected values of charlist argument passed to the function ***\n";
+// initialize all required variables
+$str = 'hello world12345 ';
+
+// get an unset variable
+$unset_var = 'string_val';
+unset($unset_var);
+
+// declaring class
+class sample  {
+  public function __toString()  {
+  return "@# $%12345";
+  }
+}
+
+// defining a 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,
+
+  // objects
+  new sample(),
+
+  // empty string
+  "",
+  '',
+
+  // null vlaues
+  NULL,
+  null,
+
+  // resource
+  $file_handle,
+  
+  // undefined variable
+  $undefined_var,
+
+  // unset variable
+  $unset_var
+  
+);
+
+
+// loop through each element of the array and check the working of chop()
+// when $charlist arugment is supplied with different values
+echo "\n--- Testing chop() by supplying different values for 'charlist' argument ---\n";
+$counter = 1;
+for($index = 0; $index < count($values); $index ++) {
+  echo "-- Iteration $counter --\n";
+  $charlist = $values [$index];
+
+  var_dump( chop($str, $charlist) );
+
+  $counter ++;
+}
+
+// closing the resource
+fclose($file_handle);
+
+echo "Done\n";
+?>
+--EXPECTF--
+*** Testing chop() : with unexpected values of charlist argument passed to the function ***
+
+Notice: Undefined variable: undefined_var in %s on line %d
+
+Notice: Undefined variable: unset_var in %s on line %d
+
+--- Testing chop() by supplying different values for 'charlist' argument ---
+-- Iteration 1 --
+string(17) "hello world12345 "
+-- Iteration 2 --
+string(17) "hello world12345 "
+-- Iteration 3 --
+string(17) "hello world12345 "
+-- Iteration 4 --
+string(17) "hello world12345 "
+-- Iteration 5 --
+string(17) "hello world12345 "
+-- Iteration 6 --
+string(17) "hello world12345 "
+-- Iteration 7 --
+string(17) "hello world12345 "
+-- Iteration 8 --
+string(17) "hello world12345 "
+-- Iteration 9 --
+string(17) "hello world12345 "
+-- Iteration 10 --
+
+Warning: chop() expects parameter 2 to be string (Unicode or binary), array given in %s on line %d
+NULL
+-- Iteration 11 --
+
+Warning: chop() expects parameter 2 to be string (Unicode or binary), array given in %s on line %d
+NULL
+-- Iteration 12 --
+
+Warning: chop() expects parameter 2 to be string (Unicode or binary), array given in %s on line %d
+NULL
+-- Iteration 13 --
+
+Warning: chop() expects parameter 2 to be string (Unicode or binary), array given in %s on line %d
+NULL
+-- Iteration 14 --
+
+Warning: chop() expects parameter 2 to be string (Unicode or binary), array given in %s on line %d
+NULL
+-- Iteration 15 --
+string(17) "hello world12345 "
+-- Iteration 16 --
+string(17) "hello world12345 "
+-- Iteration 17 --
+string(17) "hello world12345 "
+-- Iteration 18 --
+string(17) "hello world12345 "
+-- Iteration 19 --
+string(11) "hello world"
+-- Iteration 20 --
+string(17) "hello world12345 "
+-- Iteration 21 --
+string(17) "hello world12345 "
+-- Iteration 22 --
+string(17) "hello world12345 "
+-- Iteration 23 --
+string(17) "hello world12345 "
+-- Iteration 24 --
+
+Warning: chop() expects parameter 2 to be string (Unicode or binary), resource given in %s on line %d
+NULL
+-- Iteration 25 --
+string(17) "hello world12345 "
+-- Iteration 26 --
+string(17) "hello world12345 "
+Done
+
+--UEXPECTF--
+*** Testing chop() : with unexpected values of charlist argument passed to the function ***
+
+Notice: Undefined variable: undefined_var in %s on line %d
+
+Notice: Undefined variable: unset_var in %s on line %d
+
+--- Testing chop() by supplying different values for 'charlist' argument ---
+-- Iteration 1 --
+unicode(17) "hello world12345 "
+-- Iteration 2 --
+unicode(17) "hello world12345 "
+-- Iteration 3 --
+unicode(17) "hello world12345 "
+-- Iteration 4 --
+unicode(17) "hello world12345 "
+-- Iteration 5 --
+unicode(17) "hello world12345 "
+-- Iteration 6 --
+unicode(17) "hello world12345 "
+-- Iteration 7 --
+unicode(17) "hello world12345 "
+-- Iteration 8 --
+unicode(17) "hello world12345 "
+-- Iteration 9 --
+unicode(17) "hello world12345 "
+-- Iteration 10 --
+
+Warning: chop() expects parameter 2 to be string (Unicode or binary), array given in %s on line %d
+NULL
+-- Iteration 11 --
+
+Warning: chop() expects parameter 2 to be string (Unicode or binary), array given in %s on line %d
+NULL
+-- Iteration 12 --
+
+Warning: chop() expects parameter 2 to be string (Unicode or binary), array given in %s on line %d
+NULL
+-- Iteration 13 --
+
+Warning: chop() expects parameter 2 to be string (Unicode or binary), array given in %s on line %d
+NULL
+-- Iteration 14 --
+
+Warning: chop() expects parameter 2 to be string (Unicode or binary), array given in %s on line %d
+NULL
+-- Iteration 15 --
+unicode(17) "hello world12345 "
+-- Iteration 16 --
+unicode(17) "hello world12345 "
+-- Iteration 17 --
+unicode(17) "hello world12345 "
+-- Iteration 18 --
+unicode(17) "hello world12345 "
+-- Iteration 19 --
+unicode(11) "hello world"
+-- Iteration 20 --
+unicode(17) "hello world12345 "
+-- Iteration 21 --
+unicode(17) "hello world12345 "
+-- Iteration 22 --
+unicode(17) "hello world12345 "
+-- Iteration 23 --
+unicode(17) "hello world12345 "
+-- Iteration 24 --
+
+Warning: chop() expects parameter 2 to be string (Unicode or binary), resource given in %s on line %d
+NULL
+-- Iteration 25 --
+unicode(17) "hello world12345 "
+-- Iteration 26 --
+unicode(17) "hello world12345 "
+Done
diff --git a/ext/standard/tests/strings/chop_variation3.phpt b/ext/standard/tests/strings/chop_variation3.phpt
new file mode 100644 (file)
index 0000000..1f2abc6
Binary files /dev/null and b/ext/standard/tests/strings/chop_variation3.phpt differ
diff --git a/ext/standard/tests/strings/chop_variation4.phpt b/ext/standard/tests/strings/chop_variation4.phpt
new file mode 100644 (file)
index 0000000..656e598
Binary files /dev/null and b/ext/standard/tests/strings/chop_variation4.phpt differ
diff --git a/ext/standard/tests/strings/chop_variation5.phpt b/ext/standard/tests/strings/chop_variation5.phpt
new file mode 100644 (file)
index 0000000..c8c363f
--- /dev/null
@@ -0,0 +1,52 @@
+--TEST--
+Test chop() function : usage variations - miscellaneous arguments
+--FILE--
+<?php
+/* Prototype  : string chop ( string $str [, string $charlist] )
+ * Description: Strip whitespace (or other characters) from the end of a string
+ * Source code: ext/standard/string.c
+*/
+
+/*
+ * Testing chop() : with miscellaneous arguments
+*/
+
+echo "*** Testing chop() : with miscellaneous arguments ***\n";
+
+ var_dump ( chop("chop test   \t\0 ") );                       /* without second Argument */
+ var_dump ( chop("chop test   " , "") );                       /* no characters in second Argument */
+ var_dump ( chop("chop test        ", NULL) );                 /* with NULL as second Argument */
+ var_dump ( chop("chop test        ", true) );                 /* with boolean value as second Argument */
+ var_dump ( chop("chop test        ", " ") );                  /* with single space as second Argument */
+ var_dump ( chop("chop test \t\n\r\0\x0B", "\t\n\r\0\x0B") );  /* with multiple escape sequences as second Argument */
+ var_dump ( chop("chop testABCXYZ", "A..Z") );                 /* with characters range as second Argument */
+ var_dump ( chop("chop test0123456789", "0..9") );             /* with numbers range as second Argument */
+ var_dump ( chop("chop test$#@", "#@$") );                     /* with some special characters as second Argument */
+
+echo "Done\n";
+?>
+--EXPECTF--
+*** Testing chop() : with miscellaneous arguments ***
+string(9) "chop test"
+string(12) "chop test   "
+string(17) "chop test        "
+string(17) "chop test        "
+string(9) "chop test"
+string(10) "chop test "
+string(9) "chop test"
+string(9) "chop test"
+string(9) "chop test"
+Done
+
+--UEXPECTF--
+*** Testing chop() : with miscellaneous arguments ***
+unicode(9) "chop test"
+unicode(12) "chop test   "
+unicode(17) "chop test        "
+unicode(17) "chop test        "
+unicode(9) "chop test"
+unicode(10) "chop test "
+unicode(9) "chop test"
+unicode(9) "chop test"
+unicode(9) "chop test"
+Done