From b23ca08bbb7300de0d1100ee64cafd5bda0ca50c Mon Sep 17 00:00:00 2001 From: solar Date: Mon, 20 Dec 2010 07:15:23 +0000 Subject: [PATCH] Basic tests for %c, %s, %[ and %p. git-svn-id: https://srv7.svn-repos.de/dev34/pdclib/trunk@500 546481bc-9713-0410-bf18-d3337bbf4a3e --- testing/scanf_testcases.h | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/testing/scanf_testcases.h b/testing/scanf_testcases.h index a1521fe..f9007d6 100644 --- a/testing/scanf_testcases.h +++ b/testing/scanf_testcases.h @@ -2,6 +2,7 @@ char buffer[100]; int i; unsigned int u; + int * p; /* basic: reading of three-char string */ SCANF_TEST( 1, "foo", "%3c", buffer ); TESTCASE( memcmp( buffer, "foo", 3 ) == 0 ); @@ -56,4 +57,31 @@ TESTCASE( u == 0 ); SCANF_TEST( 1, INT_OCTDIG, "%o", &u ); TESTCASE( u == UINT_MAX ); + /* testing %c */ + memset( buffer, '\0', 100 ); + SCANF_TEST( 1, "x", "%c", buffer ); + TESTCASE( memcmp( buffer, "x\0", 2 ) == 0 ); + /* testing %s */ + memset( buffer, '\0', 100 ); + SCANF_TEST( 1, "foo bar", "%s", buffer ); + TESTCASE( memcmp( buffer, "foo\0", 4 ) == 0 ); +#ifndef TEST_CONVERSION_ONLY + SCANF_TEST( 2, "foo bar baz", "%s %s %n", buffer, buffer + 4, &u ); + TESTCASE( u == 9 ); + TESTCASE( memcmp( buffer, "foo\0bar\0", 8 ) == 0 ); +#endif + /* testing %[ */ + SCANF_TEST( 1, "abcdefg", "%[cba]", buffer ); + TESTCASE( memcmp( buffer, "abc\0", 4 ) == 0 ); + /* testing %p */ + p = NULL; + sprintf( buffer, "%p", p ); + p = &i; + SCANF_TEST( 1, buffer, "%p", &p ); + TESTCASE( p == NULL ); + p = &i; + sprintf( buffer, "%p", p ); + p = NULL; + SCANF_TEST( 1, buffer, "%p", &p ); + TESTCASE( p == &i ); } -- 2.30.2