summaryrefslogtreecommitdiff
path: root/tests/test-printf-posix.h
diff options
context:
space:
mode:
authorBruno Haible <bruno@clisp.org>2008-04-19 17:26:36 +0200
committerBruno Haible <bruno@clisp.org>2008-04-19 17:26:36 +0200
commitf797ae74856a21b4471baec28dbbfd82b48fe2dc (patch)
treefc1a1a25bd9a89d66437e96c4259e249b3599557 /tests/test-printf-posix.h
parent2e8956774250d3f5636898fea193c5abaf041d08 (diff)
downloadgnulib-f797ae74856a21b4471baec28dbbfd82b48fe2dc.tar.gz
Fix rounding when a precision is given.
Diffstat (limited to 'tests/test-printf-posix.h')
-rw-r--r--tests/test-printf-posix.h26
1 files changed, 25 insertions, 1 deletions
diff --git a/tests/test-printf-posix.h b/tests/test-printf-posix.h
index 37caf86795..c1ba7a5525 100644
--- a/tests/test-printf-posix.h
+++ b/tests/test-printf-posix.h
@@ -1,5 +1,5 @@
/* Test of POSIX compatible vsprintf() and sprintf() functions.
- Copyright (C) 2007 Free Software Foundation, Inc.
+ Copyright (C) 2007-2008 Free Software Foundation, Inc.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@@ -67,6 +67,12 @@ test_function (int (*my_printf) (const char *, ...))
/* Precision. */
my_printf ("%.f %d\n", 1234.0, 33, 44, 55);
+ /* Precision with no rounding. */
+ my_printf ("%.2f %d\n", 999.95, 33, 44, 55);
+
+ /* Precision with rounding. */
+ my_printf ("%.2f %d\n", 999.996, 33, 44, 55);
+
/* A positive number. */
my_printf ("%Lf %d\n", 12.75L, 33, 44, 55);
@@ -85,6 +91,12 @@ test_function (int (*my_printf) (const char *, ...))
/* Precision. */
my_printf ("%.Lf %d\n", 1234.0L, 33, 44, 55);
+ /* Precision with no rounding. */
+ my_printf ("%.2Lf %d\n", 999.95L, 33, 44, 55);
+
+ /* Precision with rounding. */
+ my_printf ("%.2Lf %d\n", 999.996L, 33, 44, 55);
+
/* Test the support of the %F format directive. */
/* A positive number. */
@@ -105,6 +117,12 @@ test_function (int (*my_printf) (const char *, ...))
/* Precision. */
my_printf ("%.F %d\n", 1234.0, 33, 44, 55);
+ /* Precision with no rounding. */
+ my_printf ("%.2F %d\n", 999.95, 33, 44, 55);
+
+ /* Precision with rounding. */
+ my_printf ("%.2F %d\n", 999.996, 33, 44, 55);
+
/* A positive number. */
my_printf ("%LF %d\n", 12.75L, 33, 44, 55);
@@ -123,6 +141,12 @@ test_function (int (*my_printf) (const char *, ...))
/* Precision. */
my_printf ("%.LF %d\n", 1234.0L, 33, 44, 55);
+ /* Precision with no rounding. */
+ my_printf ("%.2LF %d\n", 999.95L, 33, 44, 55);
+
+ /* Precision with rounding. */
+ my_printf ("%.2LF %d\n", 999.996L, 33, 44, 55);
+
/* Test the support of the POSIX/XSI format strings with positions. */
my_printf ("%2$d %1$d\n", 33, 55);