File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / php / ext / standard / tests / strings / strrev_variation3.phpt
Revision 1.1: download - view: text, annotated - select for diffs - revision graph
Tue Feb 21 23:48:04 2012 UTC (12 years, 5 months ago) by misho
CVS tags: MAIN, HEAD
Initial revision

--TEST--
Test strrev() function : usage variations - heredoc strings
--FILE--
<?php
/* Prototype  : string strrev(string $str);
 * Description: Reverse a string 
 * Source code: ext/standard/string.c
*/

/* Testing strrev() function with heredoc strings for 'str' */

echo "*** Testing strrev() function: with heredoc strings ***\n";
$multi_line_str = <<<EOD
Example of string
spanning multiple lines
using heredoc syntax.
EOD;

$special_chars_str = <<<EOD
Ex'ple of h'doc st'g, contains
$#%^*&*_("_")!#@@!$#$^^&*(special)
chars.
EOD;

$control_chars_str = <<<EOD
Hello, World\n
Hello\0World
EOD;

$quote_chars_str = <<<EOD
it's bright o'side
"things in double quote"
'things in single quote'
this\line is /with\slashs
EOD;

$blank_line = <<<EOD

EOD;

$empty_str = <<<EOD
EOD;

$strings = array(
  $multi_line_str,
  $special_chars_str,
  $control_chars_str,
  $quote_chars_str,
  $blank_line,
  $empty_str
);

$count = 1;
for( $index = 0; $index < count($strings); $index++ ) {
  echo "\n-- Iteration $count --\n";
  var_dump( strrev($strings[$index]) );
  $count ++;
}

echo "*** Done ***";
?>
--EXPECTF--
*** Testing strrev() function: with heredoc strings ***

-- Iteration 1 --
string(63) ".xatnys codereh gnisu
senil elpitlum gninnaps
gnirts fo elpmaxE"

-- Iteration 2 --
string(72) ".srahc
)laiceps(*&^^$#$!@@#!)"_"(_*&*^%#$
sniatnoc ,g'ts cod'h fo elp'xE"

-- Iteration 3 --
string(25) "dlroWolleH

dlroW ,olleH"

-- Iteration 4 --
string(94) "shsals\htiw/ si enil\siht
'etouq elgnis ni sgniht'
"etouq elbuod ni sgniht"
edis'o thgirb s'ti"

-- Iteration 5 --
string(0) ""

-- Iteration 6 --
string(0) ""
*** Done ***

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>