aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorMartijn Jasperse <m.jasperse@gmail.com>2019-02-01 14:07:26 +1100
committerMartijn Jasperse <m.jasperse@gmail.com>2019-02-01 14:07:26 +1100
commit56d9df0bd3ff3161c86b387c36823a62472980e2 (patch)
tree714351d2fe1e71631acf2c554253cee0a4e8d881 /test
parent2019bc0192a1b69036b0659f642a9e7e6c426a32 (diff)
downloadprintf-56d9df0bd3ff3161c86b387c36823a62472980e2.tar.gz
printf-56d9df0bd3ff3161c86b387c36823a62472980e2.tar.bz2
printf-56d9df0bd3ff3161c86b387c36823a62472980e2.zip
Added special-case handling to %E, added +inf and -inf handling, test cases
Diffstat (limited to 'test')
-rw-r--r--test/test_suite.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/test/test_suite.cpp b/test/test_suite.cpp
index 875fa82..27efa4e 100644
--- a/test/test_suite.cpp
+++ b/test/test_suite.cpp
@@ -1045,9 +1045,19 @@ TEST_CASE("length", "[]" ) {
TEST_CASE("float", "[]" ) {
char buffer[100];
- test::sprintf(buffer, "%8f", NAN); // using the NAN macro of math.h
+ // test special-case floats using math.h macros
+ test::sprintf(buffer, "%8f", NAN);
REQUIRE(!strcmp(buffer, " nan"));
+ test::sprintf(buffer, "%8f", INFINITY);
+ REQUIRE(!strcmp(buffer, " inf"));
+
+ test::sprintf(buffer, "%-8f", -INFINITY);
+ REQUIRE(!strcmp(buffer, "-inf "));
+
+ test::sprintf(buffer, "%+8e", INFINITY);
+ REQUIRE(!strcmp(buffer, " +inf"));
+
test::sprintf(buffer, "%.4f", 3.1415354);
REQUIRE(!strcmp(buffer, "3.1415"));