summaryrefslogtreecommitdiff
path: root/ext/standard/tests/strings/sprintf_variation52.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/standard/tests/strings/sprintf_variation52.phpt')
-rw-r--r--ext/standard/tests/strings/sprintf_variation52.phpt63
1 files changed, 63 insertions, 0 deletions
diff --git a/ext/standard/tests/strings/sprintf_variation52.phpt b/ext/standard/tests/strings/sprintf_variation52.phpt
new file mode 100644
index 0000000000..9ca598527a
--- /dev/null
+++ b/ext/standard/tests/strings/sprintf_variation52.phpt
@@ -0,0 +1,63 @@
+--TEST--
+Test sprintf() function : usage variations - typical format strings
+--FILE--
+<?php
+/* Prototype : string sprintf(string $format [, mixed $arg1 [, mixed ...]])
+ * Description: Return a formatted string
+ * Source code: ext/standard/formatted_print.c
+*/
+
+echo "*** Testing sprintf() : with typical format strings ***\n";
+
+// initialising required variables
+$tempnum = 12345;
+$tempstring = "abcdefghjklmnpqrstuvwxyz";
+
+echo"\n-- Testing for '%%%.2f' as the format parameter --\n";
+var_dump(sprintf("%%%.2f", 1.23456789e10));
+
+echo"\n-- Testing for '%%' as the format parameter --\n";
+var_dump(sprintf("%%", 1.23456789e10));
+
+echo"\n-- Testing for precision value more than maximum --\n";
+var_dump(sprintf("%.988f", 1.23456789e10));
+
+echo"\n-- Testing for invalid width(-15) specifier --\n";
+var_dump(sprintf("%030.-15s", $tempstring));
+
+echo"\n-- Testing for '%X' as the format parameter --\n";
+var_dump(sprintf("%X", 12));
+
+echo"\n-- Testing for multiple format parameters --\n";
+var_dump(sprintf("%d %s %d\n", $tempnum, $tempstring, $tempnum));
+
+echo"\n-- Testing for excess of mixed type arguments --\n";
+var_dump(sprintf("%s", $tempstring, $tempstring, $tempstring));
+
+echo "Done";
+?>
+--EXPECTF--
+*** Testing sprintf() : with typical format strings ***
+
+-- Testing for '%%%.2f' as the format parameter --
+string(15) "%12345678900.00"
+
+-- Testing for '%%' as the format parameter --
+string(1) "%"
+
+-- Testing for precision value more than maximum --
+string(52) "12345678900.0000000000000000000000000000000000000000"
+
+-- Testing for invalid width(-15) specifier --
+string(3) "15s"
+
+-- Testing for '%X' as the format parameter --
+string(1) "C"
+
+-- Testing for multiple format parameters --
+string(39) "12345 abcdefghjklmnpqrstuvwxyz 12345
+"
+
+-- Testing for excess of mixed type arguments --
+string(24) "abcdefghjklmnpqrstuvwxyz"
+Done