diff options
author | Marco Paland <marco@paland.com> | 2018-05-11 12:42:21 +0200 |
---|---|---|
committer | Marco Paland <marco@paland.com> | 2018-05-11 12:42:21 +0200 |
commit | 8609d7628583d7ee0d8e6447a4ad3d249b9b6434 (patch) | |
tree | 91f705bd26cedb601ea100b86148d27924cd9949 /test/test_suite.cpp | |
parent | 814bbf6f4747e74070cc6994bf00d6c287374a8e (diff) | |
parent | 824a9b35f953ab263d08dd7659aaba4efa162b4f (diff) | |
download | printf-8609d7628583d7ee0d8e6447a4ad3d249b9b6434.tar.gz printf-8609d7628583d7ee0d8e6447a4ad3d249b9b6434.tar.bz2 printf-8609d7628583d7ee0d8e6447a4ad3d249b9b6434.zip |
Merge branch 'out_function'
Diffstat (limited to 'test/test_suite.cpp')
-rw-r--r-- | test/test_suite.cpp | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/test/test_suite.cpp b/test/test_suite.cpp index ab8f7e5..8ee90a3 100644 --- a/test/test_suite.cpp +++ b/test/test_suite.cpp @@ -1016,6 +1016,14 @@ TEST_CASE("pointer", "[]" ) { REQUIRE(!strcmp(buffer, "0000000012345678"));
}
+ test::sprintf(buffer, "%p-%p", (void*)0x12345678U, (void*)0x7EDCBA98U);
+ if (sizeof(void*) == 4U) {
+ REQUIRE(!strcmp(buffer, "12345678-7EDCBA98"));
+ }
+ else {
+ REQUIRE(!strcmp(buffer, "0000000012345678-000000007EDCBA98"));
+ }
+
if (sizeof(uintptr_t) == sizeof(uint64_t)) {
test::sprintf(buffer, "%p", (void*)(uintptr_t)0xFFFFFFFFU);
REQUIRE(!strcmp(buffer, "00000000FFFFFFFF"));
@@ -1039,17 +1047,15 @@ TEST_CASE("buffer length", "[]" ) { char buffer[100];
int ret;
- // formatted length, this should return '4',
- // but this feature is not implemented, returning 0
ret = test::snprintf(nullptr, 10, "%s", "Test");
- REQUIRE(ret == -1);
+ REQUIRE(ret == 4);
ret = test::snprintf(nullptr, 0, "%s", "Test");
- REQUIRE(ret == -1);
+ REQUIRE(ret == 4);
buffer[0] = (char)0xA5;
ret = test::snprintf(buffer, 0, "%s", "Test");
REQUIRE(buffer[0] == (char)0xA5);
- REQUIRE(ret == 0);
+ REQUIRE(ret == 4);
buffer[0] = 0xCC;
test::snprintf(buffer, 1, "%s", "Test");
@@ -1074,13 +1080,13 @@ TEST_CASE("ret value", "[]" ) { ret = test::snprintf(buffer, 6, "0%s", "1234567");
REQUIRE(!strcmp(buffer, "01234"));
- REQUIRE(ret == 6); // '567' are truncated
+ REQUIRE(ret == 8); // '567' are truncated
ret = test::snprintf(buffer, 10, "hello, world");
- REQUIRE(ret == 10);
+ REQUIRE(ret == 12);
ret = test::snprintf(buffer, 3, "%d", 10000);
- REQUIRE(ret == 3); // '000' are truncated
+ REQUIRE(ret == 5);
REQUIRE(strlen(buffer) == 2U);
REQUIRE(buffer[0] == '1');
REQUIRE(buffer[1] == '0');
|