summaryrefslogtreecommitdiff
path: root/ext/standard/tests/strings/strtr_basic.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/standard/tests/strings/strtr_basic.phpt')
-rw-r--r--ext/standard/tests/strings/strtr_basic.phpt54
1 files changed, 54 insertions, 0 deletions
diff --git a/ext/standard/tests/strings/strtr_basic.phpt b/ext/standard/tests/strings/strtr_basic.phpt
new file mode 100644
index 0000000000..2892ab0082
--- /dev/null
+++ b/ext/standard/tests/strings/strtr_basic.phpt
@@ -0,0 +1,54 @@
+--TEST--
+Test strtr() function : basic functionality
+--FILE--
+<?php
+/* Prototype : string strtr(string $str, string $from[, string $to]);
+ * Description: Translates characters in str using given translation pairs
+ * Source code: ext/standard/string.c
+*/
+
+echo "*** Testing strtr() : basic functionality ***\n";
+//definitions of required input variables
+$trans1_arr = array("t" => "T", "e" => "E", "st" => "ST");
+$trans2_arr = array('t' => 'T', 'e' => 'E', 'st' => 'ST');
+$heredoc_str = <<<EOD
+test strtr
+EOD;
+
+//translating single char
+var_dump( strtr("test strtr", "t", "T") );
+var_dump( strtr('test strtr', 't', 'T') );
+var_dump( strtr($heredoc_str, "t", "T") );
+
+//translating set of chars
+//$from and $to are of same length
+var_dump( strtr("test strtr", "test", "TEST") );
+var_dump( strtr('test strtr', 'test', 'TEST') );
+var_dump( strtr($heredoc_str, "test", "TEST") );
+
+//$from and $to are of different lengths, extra chars in the longer one are ignored
+var_dump( strtr("test strtr", "test", "TESTz") );
+var_dump( strtr('test strtr', 'testz', 'TEST') );
+var_dump( strtr($heredoc_str, "test", "TESTz") );
+
+//by using replace_pairs array
+var_dump( strtr("test strtr", $trans1_arr) );
+var_dump( strtr('test strtr', $trans2_arr) );
+var_dump( strtr($heredoc_str, $trans1_arr) );
+echo "*** Done ***";
+?>
+--EXPECTF--
+*** Testing strtr() : basic functionality ***
+string(10) "TesT sTrTr"
+string(10) "TesT sTrTr"
+string(10) "TesT sTrTr"
+string(10) "TEST STrTr"
+string(10) "TEST STrTr"
+string(10) "TEST STrTr"
+string(10) "TEST STrTr"
+string(10) "TEST STrTr"
+string(10) "TEST STrTr"
+string(10) "TEST STrTr"
+string(10) "TEST STrTr"
+string(10) "TEST STrTr"
+*** Done ***