wharmby         Sat Jan 17 16:41:15 2009 UTC

  Added files:                 (Branch: PHP_5_3)
    /php-src/ext/standard/tests/strings trim_error.phpt 
                                        trim_variation1.phpt 
                                        trim_basic.phpt 
                                        trim_variation2.phpt 
  Log:
  New trim() tests. Tested on Windows, Linux and Linux 64 bit
  
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/trim_error.phpt?view=markup&rev=1.1
Index: php-src/ext/standard/tests/strings/trim_error.phpt
+++ php-src/ext/standard/tests/strings/trim_error.phpt
--TEST--
Test trim() function : error conditions 
--FILE--
<?php

/* Prototype  : string trim  ( string $str  [, string $charlist  ] )
 * Description: Strip whitespace (or other characters) from the begining and 
end of a string.
 * Source code: ext/standard/string.c
*/


echo "*** Testing trim() : error conditions ***\n";

echo "\n-- Testing trim() function with no arguments --\n";
var_dump( trim() );

echo "\n-- Testing trim() function with more than expected no. of arguments 
--\n";
$extra_arg = 10;
var_dump( trim("Hello World",  "Heo", $extra_arg) );


$hello = "  Hello World\n";
echo "\n-- Test trim function with various invalid charlists --\n";
var_dump(trim($hello, "..a"));
var_dump(trim($hello, "a.."));
var_dump(trim($hello, "z..a"));
var_dump(trim($hello, "a..b..c"));

?>
===DONE===
--EXPECTF--
*** Testing trim() : error conditions ***

-- Testing trim() function with no arguments --

Warning: trim() expects at least 1 parameter, 0 given in %s on line %d
NULL

-- Testing trim() function with more than expected no. of arguments --

Warning: trim() expects at most 2 parameters, 3 given in %s on line %d
NULL

-- Test trim function with various invalid charlists --

Warning: trim(): Invalid '..'-range, no character to the left of '..' in %s on 
line %d
unicode(14) "  Hello World
"

Warning: trim(): Invalid '..'-range, no character to the right of '..' in %s on 
line %d
unicode(14) "  Hello World
"

Warning: trim(): Invalid '..'-range, '..'-range needs to be incrementing in %s 
on line %d
unicode(14) "  Hello World
"

Warning: trim(): Invalid '..'-range in %s on line %d
unicode(14) "  Hello World
"
===DONE===
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/trim_variation1.phpt?view=markup&rev=1.1
Index: php-src/ext/standard/tests/strings/trim_variation1.phpt
+++ php-src/ext/standard/tests/strings/trim_variation1.phpt
--TEST--
Test trim() function : usage variations - test values for $str argument
--FILE--
<?php

/* Prototype  : string trim  ( string $str  [, string $charlist  ] )
 * Description: Strip whitespace (or other characters) from the begining and 
end of a string.
 * Source code: ext/standard/string.c
*/

echo "*** Testing trim() function: with unexpected inputs for 'str' argument 
***\n";

//get an unset variable
$unset_var = '  !--string_val--!  ';
unset($unset_var);

//defining a class
class sample  {
  public function __toString() {
    return "  !---sample object---!  ";
  } 
}

//getting the resource
$file_handle = fopen(__FILE__, "r");

// array with different values for $input
$inputs =  array (

                  // integer values
/*1*/     0,
                  1,
                  255,
                  256,
                  2147483647,
                  -2147483648,
                
                  // float values
/*7*/     10.5,
                  -20.5,
                  10.1234567e10,
                
                  // array values
/*10*/    array(),
                  array(0),
                  array(1, 2),
                
                  // boolean values
/*13*/    true,
                  false,
                  TRUE,
                  FALSE,
                
                  // null values
/*17*/    NULL,
                  null,
                
                  // objects
/*19*/    new sample(),
                
                  // resource
/*20*/    $file_handle,
                
                  // undefined variable
/*21*/    @$undefined_var,
                
                  // unset variable
/*22*/    @$unset_var
);

// loop through with each element of the $inputs array to test trim() function
$count = 1;
foreach($inputs as $input) {
  echo "-- Iteration $count --\n";
  // strip white space and any "minus" signs
  var_dump( trim($input, " !-") );
  $count ++;
}

fclose($file_handle);  //closing the file handle

?>
===DONE===
--EXPECTF--
*** Testing trim() function: with unexpected inputs for 'str' argument ***
-- Iteration 1 --
unicode(1) "0"
-- Iteration 2 --
unicode(1) "1"
-- Iteration 3 --
unicode(3) "255"
-- Iteration 4 --
unicode(3) "256"
-- Iteration 5 --
unicode(10) "2147483647"
-- Iteration 6 --
unicode(10) "2147483648"
-- Iteration 7 --
unicode(4) "10.5"
-- Iteration 8 --
unicode(4) "20.5"
-- Iteration 9 --
unicode(12) "101234567000"
-- Iteration 10 --

Warning: trim() expects parameter 1 to be string (Unicode or binary), array 
given in %s on line %d
NULL
-- Iteration 11 --

Warning: trim() expects parameter 1 to be string (Unicode or binary), array 
given in %s on line %d
NULL
-- Iteration 12 --

Warning: trim() expects parameter 1 to be string (Unicode or binary), array 
given in %s on line %d
NULL
-- Iteration 13 --
unicode(1) "1"
-- Iteration 14 --
unicode(0) ""
-- Iteration 15 --
unicode(1) "1"
-- Iteration 16 --
unicode(0) ""
-- Iteration 17 --
unicode(0) ""
-- Iteration 18 --
unicode(0) ""
-- Iteration 19 --
unicode(13) "sample object"
-- Iteration 20 --

Warning: trim() expects parameter 1 to be string (Unicode or binary), resource 
given in %s on line %d
NULL
-- Iteration 21 --
unicode(0) ""
-- Iteration 22 --
unicode(0) ""
===DONE===
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/trim_basic.phpt?view=markup&rev=1.1
Index: php-src/ext/standard/tests/strings/trim_basic.phpt
+++ php-src/ext/standard/tests/strings/trim_basic.phpt
--TEST--
Test trim() function : basic functionality 
--FILE--
<?php

/* Prototype  : string trim  ( string $str  [, string $charlist  ] )
 * Description: Strip whitespace (or other characters) from the beginning and 
end of a string.
 * Source code: ext/standard/string.c
*/

echo "*** Testing trim() : basic functionality ***\n";

$text  = "  \t\r\n\0\x0B  ---These are a few words---  \t\r\n\0\x0B  ";
$hello  = "!===Hello World===!";
$binary = "\x0A\x0DExample string\x0A\x0D";

echo "\n-- Trim string with all white space characters --\n";
var_dump(trim($text));

echo "\n-- Trim non-whitespace from a string --\n"; 
var_dump(trim($hello, "=!"));

echo "\n-- Trim some non-white space characters from a string --\n"; 
var_dump(trim($hello, "Hdle"));

echo "\n-- Trim the ASCII control characters at the beginning of a string --\n";
var_dump(trim($binary, "\x00..\x1F"));

?>
===DONE===
--EXPECT--
*** Testing trim() : basic functionality ***

-- Trim string with all white space characters --
unicode(27) "---These are a few words---"

-- Trim non-whitespace from a string --
unicode(11) "Hello World"

-- Trim some non-white space characters from a string --
unicode(19) "!===Hello World===!"

-- Trim the ASCII control characters at the beginning of a string --
unicode(14) "Example string"
===DONE===

http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/strings/trim_variation2.phpt?view=markup&rev=1.1
Index: php-src/ext/standard/tests/strings/trim_variation2.phpt
+++ php-src/ext/standard/tests/strings/trim_variation2.phpt
--TEST--
Test trim() function : usage variations - test values for $charlist argument
--FILE--
<?php

/* Prototype  : string trim  ( string $str  [, string $charlist  ] )
 * Description: Strip whitespace (or other characters) from the begining and 
end of a string.
 * Source code: ext/standard/string.c
*/

echo "*** Testing trim() function: with unexpected inputs for 'charlist' 
argument ***\n";

//get an unset variable
$unset_var = '  string_val  ';
unset($unset_var);

//defining a class
class sample  {
  public function __toString() {
    return "  sample object  ";
  } 
}

//getting the resource
$file_handle = fopen(__FILE__, "r");

// array with different values for $input
$inputs =  array (

                  // integer values
/*1*/     0,
                  1,
                  255,
                  256,
                  2147483647,
                  -2147483648,
                
                  // float values
/*7*/     10.5,
                  -20.5,
                  10.1234567e10,
                
                  // array values
/*10*/    array(),
                  array(0),
                  array(1, 2),
                
                  // boolean values
/*13*/    true,
                  false,
                  TRUE,
                  FALSE,
                
                  // null values
/*17*/    NULL,
                  null,
                
                  // objects
/*19*/    new sample(),
                
                  // resource
/*20*/    $file_handle,
                
                  // undefined variable
/*21*/    @$undefined_var,
                
                  // unset variable
/*22*/    @$unset_var
);

// loop through with each element of the $inputs array to test trim() function
$count = 1;
foreach($inputs as $charlist) {
  echo "-- Iteration $count --\n";
  // strip white space and any "minus" signs
  var_dump( trim("!---Hello World---!", $charlist) );
  $count ++;
}

fclose($file_handle);  //closing the file handle

?>
===DONE===
--EXPECTF--
*** Testing trim() function: with unexpected inputs for 'charlist' argument ***
-- Iteration 1 --
unicode(19) "!---Hello World---!"
-- Iteration 2 --
unicode(19) "!---Hello World---!"
-- Iteration 3 --
unicode(19) "!---Hello World---!"
-- Iteration 4 --
unicode(19) "!---Hello World---!"
-- Iteration 5 --
unicode(19) "!---Hello World---!"
-- Iteration 6 --
unicode(19) "!---Hello World---!"
-- Iteration 7 --
unicode(19) "!---Hello World---!"
-- Iteration 8 --
unicode(19) "!---Hello World---!"
-- Iteration 9 --
unicode(19) "!---Hello World---!"
-- Iteration 10 --

Warning: trim() expects parameter 2 to be string (Unicode or binary), array 
given in %s on line %d
NULL
-- Iteration 11 --

Warning: trim() expects parameter 2 to be string (Unicode or binary), array 
given in %s on line %d
NULL
-- Iteration 12 --

Warning: trim() expects parameter 2 to be string (Unicode or binary), array 
given in %s on line %d
NULL
-- Iteration 13 --
unicode(19) "!---Hello World---!"
-- Iteration 14 --
unicode(19) "!---Hello World---!"
-- Iteration 15 --
unicode(19) "!---Hello World---!"
-- Iteration 16 --
unicode(19) "!---Hello World---!"
-- Iteration 17 --
unicode(19) "!---Hello World---!"
-- Iteration 18 --
unicode(19) "!---Hello World---!"
-- Iteration 19 --
unicode(19) "!---Hello World---!"
-- Iteration 20 --

Warning: trim() expects parameter 2 to be string (Unicode or binary), resource 
given in %s on line %d
NULL
-- Iteration 21 --
unicode(19) "!---Hello World---!"
-- Iteration 22 --
unicode(19) "!---Hello World---!"
===DONE===
-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to