+ /* ISO week calculation */
+ MKTIME( timeptr, 0, 0, 0, 27, 11, 3, 0, 360 );
+ TESTCASE( strftime( buffer, 100, "%V ", &timeptr ) == 3 );
+ TESTCASE( strcmp( buffer, "52 " ) == 0 );
+ MKTIME( timeptr, 0, 0, 0, 28, 11, 3, 1, 361 );
+ TESTCASE( strftime( buffer, 100, "%V ", &timeptr ) == 3 );
+ TESTCASE( strcmp( buffer, "53 " ) == 0 );
+ MKTIME( timeptr, 0, 0, 0, 31, 11, 3, 4, 364 );
+ TESTCASE( strftime( buffer, 100, "%V ", &timeptr ) == 3 );
+ TESTCASE( strcmp( buffer, "53 " ) == 0 );
+ MKTIME( timeptr, 0, 0, 0, 1, 0, 4, 5, 0 );
+ TESTCASE( strftime( buffer, 100, "%V ", &timeptr ) == 3 );
+ TESTCASE( strcmp( buffer, "53 " ) == 0 );
+ MKTIME( timeptr, 0, 0, 0, 3, 0, 4, 0, 2 );
+ TESTCASE( strftime( buffer, 100, "%V ", &timeptr ) == 3 );
+ TESTCASE( strcmp( buffer, "53 " ) == 0 );
+ TESTCASE( strftime( buffer, 100, "%g ", &timeptr ) == 3 );
+ TESTCASE( strcmp( buffer, "03 " ) == 0 );
+ TESTCASE( strftime( buffer, 100, "%G ", &timeptr ) == 5 );
+ TESTCASE( strcmp( buffer, "1903 " ) == 0 );
+ MKTIME( timeptr, 0, 0, 0, 4, 0, 4, 1, 3 );
+ TESTCASE( strftime( buffer, 100, "%V ", &timeptr ) == 3 );
+ TESTCASE( strcmp( buffer, "01 " ) == 0 );
+ TESTCASE( strftime( buffer, 100, "%g ", &timeptr ) == 3 );
+ TESTCASE( strcmp( buffer, "04 " ) == 0 );
+ TESTCASE( strftime( buffer, 100, "%G ", &timeptr ) == 5 );
+ TESTCASE( strcmp( buffer, "1904 " ) == 0 );
+ MKTIME( timeptr, 0, 0, 0, 1, 0, 5, 0, 0 );
+ TESTCASE( strftime( buffer, 100, "%V ", &timeptr ) == 3 );
+ TESTCASE( strcmp( buffer, "52 " ) == 0 );
+ TESTCASE( strftime( buffer, 100, "%g ", &timeptr ) == 3 );
+ TESTCASE( strcmp( buffer, "04 " ) == 0 );
+ TESTCASE( strftime( buffer, 100, "%G ", &timeptr ) == 5 );
+ TESTCASE( strcmp( buffer, "1904 " ) == 0 );
+ MKTIME( timeptr, 0, 0, 0, 24, 11, 100, 0, 358 );
+ TESTCASE( strftime( buffer, 100, "%V ", &timeptr ) == 3 );
+ TESTCASE( strcmp( buffer, "51 " ) == 0 );
+ MKTIME( timeptr, 0, 0, 0, 25, 11, 100, 1, 359 );
+ TESTCASE( strftime( buffer, 100, "%V ", &timeptr ) == 3 );
+ TESTCASE( strcmp( buffer, "52 " ) == 0 );
+ MKTIME( timeptr, 0, 0, 0, 31, 11, 100, 0, 365 );
+ TESTCASE( strftime( buffer, 100, "%V ", &timeptr ) == 3 );
+ TESTCASE( strcmp( buffer, "52 " ) == 0 );
+ TESTCASE( strftime( buffer, 100, "%g ", &timeptr ) == 3 );
+ TESTCASE( strcmp( buffer, "00 " ) == 0 );
+ TESTCASE( strftime( buffer, 100, "%G ", &timeptr ) == 5 );
+ TESTCASE( strcmp( buffer, "2000 " ) == 0 );
+ MKTIME( timeptr, 0, 0, 0, 1, 0, 101, 1, 0 );
+ TESTCASE( strftime( buffer, 100, "%V ", &timeptr ) == 3 );
+ TESTCASE( strcmp( buffer, "01 " ) == 0 );
+ TESTCASE( strftime( buffer, 100, "%g ", &timeptr ) == 3 );
+ TESTCASE( strcmp( buffer, "01 " ) == 0 );
+ TESTCASE( strftime( buffer, 100, "%G ", &timeptr ) == 5 );
+ TESTCASE( strcmp( buffer, "2001 " ) == 0 );
+ MKTIME( timeptr, 0, 0, 0, 7, 0, 101, 7, 6 );
+ TESTCASE( strftime( buffer, 100, "%V ", &timeptr ) == 3 );
+ TESTCASE( strcmp( buffer, "01 " ) == 0 );
+ MKTIME( timeptr, 0, 0, 0, 8, 0, 101, 1, 7 );
+ TESTCASE( strftime( buffer, 100, "%V ", &timeptr ) == 3 );
+ TESTCASE( strcmp( buffer, "02 " ) == 0 );