From 7075d314a0875caa45c8571f7aa52f732f3612a9 Mon Sep 17 00:00:00 2001 From: Marco Paland Date: Fri, 14 Sep 2018 14:42:41 +0200 Subject: fix(printf): zero precision and zero value hash problem Fixes #26 --- test/test_suite.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'test') diff --git a/test/test_suite.cpp b/test/test_suite.cpp index e693851..99e07b7 100644 --- a/test/test_suite.cpp +++ b/test/test_suite.cpp @@ -247,6 +247,9 @@ TEST_CASE("+ flag", "[]" ) { test::sprintf(buffer, "%+c", 'x'); REQUIRE(!strcmp(buffer, "x")); + + test::sprintf(buffer, "%+.0d", 0); + REQUIRE(!strcmp(buffer, "+")); } @@ -344,6 +347,14 @@ TEST_CASE("- flag", "[]" ) { } +TEST_CASE("# flag", "[]" ) { + char buffer[100]; + + test::sprintf(buffer, "%#.0x", 0); + REQUIRE(!strcmp(buffer, "")); +} + + TEST_CASE("specifier", "[]" ) { char buffer[100]; @@ -1232,6 +1243,9 @@ TEST_CASE("misc", "[]" ) { test::sprintf(buffer, "%.3s", "foobar"); REQUIRE(!strcmp(buffer, "foo")); + test::sprintf(buffer, "% .0d", 0); + REQUIRE(!strcmp(buffer, " ")); + test::sprintf(buffer, "%10.5d", 4); REQUIRE(!strcmp(buffer, " 00004")); -- cgit v1.2.3