5 /* basic: reading of three-char string */
6 SCANF_TEST( 1, "foo", "%3c", buffer );
7 TESTCASE( memcmp( buffer, "foo", 3 ) == 0 );
8 #ifndef TEST_CONVERSION_ONLY
10 SCANF_TEST( 1, "%x", "%%%c", buffer );
11 TESTCASE( buffer[0] == 'x' );
12 /* * to skip assignment */
13 SCANF_TEST( 1, "3xfoo", "%*dx%3c", buffer );
14 TESTCASE( memcmp( buffer, "foo", 3 ) == 0 );
16 /* domain testing on 'int' type */
17 SCANF_TEST( 1, "-" INT_MIN_DEZ_STR, "%d", &i );
18 TESTCASE( i == INT_MIN );
19 SCANF_TEST( 1, INT_MAX_DEZ_STR, "%d", &i );
20 TESTCASE( i == INT_MAX );
21 SCANF_TEST( 1, "-1", "%d", &i );
23 SCANF_TEST( 1, "0", "%d", &i );
25 SCANF_TEST( 1, "1", "%d", &i );
27 SCANF_TEST( 1, "-" INT_MIN_DEZ_STR, "%i", &i );
28 TESTCASE( i == INT_MIN );
29 SCANF_TEST( 1, INT_MAX_DEZ_STR, "%i", &i );
30 TESTCASE( i == INT_MAX );
31 SCANF_TEST( 1, "-1", "%i", &i );
33 SCANF_TEST( 1, "0", "%i", &i );
35 SCANF_TEST( 1, "1", "%i", &i );
37 SCANF_TEST( 1, "0x7" INT_HEXDIG, "%i", &i );
38 TESTCASE( i == INT_MAX );
39 SCANF_TEST( 1, "0x0", "%i", &i );
41 #ifndef TEST_CONVERSION_ONLY
42 SCANF_TEST( 1, "00", "%i%n", &i, &u );
46 /* domain testing on 'unsigned int' type */
47 SCANF_TEST( 1, UINT_MAX_DEZ_STR, "%u", &u );
48 TESTCASE( u == UINT_MAX );
49 SCANF_TEST( 1, "0", "%u", &u );
51 SCANF_TEST( 1, "f" INT_HEXDIG, "%x", &u );
52 TESTCASE( u == UINT_MAX );
53 SCANF_TEST( 1, "7" INT_HEXDIG, "%x", &u );
54 TESTCASE( u == INT_MAX );
55 SCANF_TEST( 1, "0", "%o", &u );
57 SCANF_TEST( 1, INT_OCTDIG, "%o", &u );
58 TESTCASE( u == UINT_MAX );