summaryrefslogtreecommitdiff
path: root/ext/standard/tests/strings/str_shuffle_basic.phpt
diff options
context:
space:
mode:
authorandy wharmby <wharmby@php.net>2009-01-19 15:46:41 +0000
committerandy wharmby <wharmby@php.net>2009-01-19 15:46:41 +0000
commit68b5346285de07fe2c08cf0c02a4af6a2d43d70a (patch)
treee664a613a822fca86409ef3298e122c96884bf4e /ext/standard/tests/strings/str_shuffle_basic.phpt
parentc422d15d0e97335c6d7e9cc8b0f5c48f46c55b6d (diff)
downloadphp-git-68b5346285de07fe2c08cf0c02a4af6a2d43d70a.tar.gz
New tests for str_pad(), str_shuffle(), stristr() and strlen(). Tested on WIndows, Linux and Linux 64 bit
Diffstat (limited to 'ext/standard/tests/strings/str_shuffle_basic.phpt')
-rw-r--r--ext/standard/tests/strings/str_shuffle_basic.phpt59
1 files changed, 59 insertions, 0 deletions
diff --git a/ext/standard/tests/strings/str_shuffle_basic.phpt b/ext/standard/tests/strings/str_shuffle_basic.phpt
new file mode 100644
index 0000000000..b60a35f560
--- /dev/null
+++ b/ext/standard/tests/strings/str_shuffle_basic.phpt
@@ -0,0 +1,59 @@
+--TEST--
+Test str_shuffle() function : basic functionality
+--FILE--
+<?php
+/* Prototype : string str_shuffle ( string $str )
+ * Description: Randomly shuffles a string
+ * Source code: ext/standard/string.c
+*/
+
+/*
+ * Testing str_shuffle() : basic functionality
+*/
+
+echo "*** Testing str_shuffle() : basic functionality ***\n";
+
+// Initialize all required variables
+$str = 'This testcase tests the str_shuffle() function.';
+var_dump(str_shuffle($str));
+
+
+// For a given i/p string ensure that all combinations are
+// generated given a reasonable sample of calls
+$a = array();
+$trys = 1000;
+$ip = 'abcd';
+$len_ip = strlen($ip);
+
+for ($i = 0; $i < $trys; $i++) {
+ $op = str_shuffle($ip);
+
+ if (!is_string($op) || strlen($op) != $len_ip) {
+ echo "TEST FAILED\n";
+ }
+
+ // Combination already hit ?
+ if (empty($a[$op])) {
+ // No first time init
+ $a[$op] = 0;
+ }
+
+ // Increment count for this combination
+ $a[$op]++;
+}
+
+$combinations = count($a);
+
+if ($combinations != 24) {
+ echo "TEST FAILED.. Only $combinations out of a possible 24 combinations used\n";
+} else {
+ echo "TEST PASSED\n";
+}
+
+?>
+===DONE===
+--EXPECTF--
+*** Testing str_shuffle() : basic functionality ***
+string(47) "%s"
+TEST PASSED
+===DONE=== \ No newline at end of file