123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268 |
- /*
- * TEST SUITE FOR MB/WC FUNCTIONS IN CLIBRARY
- *
- * FILE: dat_strfmon.c
- *
- * STRFMON: size_t strfmon (char *buf, size_t nbyte, char *fmt, ... );
- */
- /*
- * NOTE:
- *
- * The buffer size should be enough to contain a string including a
- * null char.
- * Returns the number of bytes of the string (NOT including a null char).
- */
- TST_STRFMON tst_strfmon_loc [] = {
- {
- { Tstrfmon, TST_LOC_de },
- {
- {
- /* #01 */
- /*inp*/ { 24, "%n %% %i", 123.00 },
- /*exp*/ { 0,1,23, "123,00 EUR % 123,00 EUR" },
- },
- {
- /* #02 */
- /*inp*/ { 24, "%n %% %i", 123.00 },
- /*exp*/ { 0,1,23, "123,00 EUR % 123,00 EUR" },
- },
- {
- /* #03 */
- /*inp*/ { 23, "%n %% %i", 123.00 },
- /*exp*/ { E2BIG,1,-1, "" },
- },
- {
- /* #04 */
- /*inp*/ { 31, "%n|%i", 1234.561 },
- /*exp*/ { 0,1,25, "1.234,56 EUR|1.234,56 EUR"},
- },
- {
- /* #05 */
- /*inp*/ { 33, "%n|%i", -1234.561 },
- /*exp*/ { 0,1,27, "-1.234,56 EUR|-1.234,56 EUR"},
- },
- {
- /* #06 */
- /*inp*/ { 33, "%13n|%12i", 1234.561 },
- /*exp*/ { 0,1,26, " 1.234,56 EUR|1.234,56 EUR"},
- },
- {
- /* #07 */
- /*inp*/ { 33, "%12n|%12i", -1234.561 },
- /*exp*/ { 0,1,27, "-1.234,56 EUR|-1.234,56 EUR"},
- },
- {
- /* #08 */
- /*inp*/ { 33, "%#5n|%#5i", 1234.561 },
- /*exp*/ { 0,1,29, " 1.234,56 EUR| 1.234,56 EUR"},
- },
- {
- /* #09 */
- /*inp*/ { 33, "%#5n|%#5i", -1234.561 },
- /*exp*/ { 0,1,29, "- 1.234,56 EUR|- 1.234,56 EUR"},
- },
- {
- /* #10 */
- /*inp*/ { 33, "%=*#5n|%=*#5i", 1234.561 },
- /*exp*/ { 0,1,29, " *1.234,56 EUR| *1.234,56 EUR"},
- },
- {
- /* #11 */
- /*inp*/ { 33, "%=0#5n|%=0#5i", -1234.561 },
- /*exp*/ { 0,1,29, "-01.234,56 EUR|-01.234,56 EUR"},
- },
- {
- /* #12 */
- /*inp*/ { 33, "%^#5n|%^#5i", -1234.561 },
- /*exp*/ { 0,1,27, "- 1234,56 EUR|- 1234,56 EUR"},
- },
- {
- /* #13 */
- /*inp*/ { 33, "%#5.0n|%#5.0i", 1234.444 },
- /*exp*/ { 0,1,23, " 1.234 EUR| 1.234 EUR" },
- },
- {
- /* #14 */
- /*inp*/ { 33, "%#5.0n|%#5.4i", -1234.555 },
- /*exp*/ { 0,1,28, "- 1.235 EUR|- 1.234,5550 EUR"},
- },
- {
- /* #15 */
- /*inp*/ { 33, "%(#5n|%!(#5i", -1234.561 },
- /*exp*/ { 0,1,27, "( 1.234,56 EUR)|( 1.234,56)"},
- },
- { .is_last = 1 }
- }
- },
- {
- { Tstrfmon, TST_LOC_enUS },
- {
- {
- /* #01 */
- /*inp*/ { 22, "%n %% %i", 123.00 },
- /*exp*/ { 0,1,20, "$123.00 % USD 123.00" },
- },
- {
- /* #02 */
- /*inp*/ { 21, "%n %% %i", 123.00 },
- /*exp*/ { 0,1,20, "$123.00 % USD 123.00" },
- },
- {
- /* #03 */
- /*inp*/ { 20, "%n %% %i", 123.00 },
- /*exp*/ { E2BIG,1,-1, "" },
- },
- {
- /* #04 */
- /*inp*/ { 30, "%n|%i", 1234.561 },
- /*exp*/ { 0,1,22, "$1,234.56|USD 1,234.56" },
- },
- {
- /* #05 */
- /*inp*/ { 32, "%n|%i", -1234.561 },
- /*exp*/ { 0,1,24, "-$1,234.56|-USD 1,234.56" },
- },
- {
- /* #06 */
- /*inp*/ { 30, "%12n|%12i", 1234.561 },
- /*exp*/ { 0,1,25, " $1,234.56|USD 1,234.56"},
- },
- {
- /* #07 */
- /*inp*/ { 32, "%12n|%12i", -1234.561 },
- /*exp*/ { 0,1,26, " -$1,234.56|-USD 1,234.56"},
- },
- {
- /* #08 */
- /*inp*/ { 32, "%#5n|%#5i", 1234.561 },
- /*exp*/ { 0,1,26, " $ 1,234.56| USD 1,234.56"},
- },
- {
- /* #09 */
- /*inp*/ { 32, "%#5n|%#5i", -1234.561 },
- /*exp*/ { 0,1,26, "-$ 1,234.56|-USD 1,234.56"},
- },
- {
- /* #10 */
- /*inp*/ { 32, "%=*#5n|%=*#5i", 1234.561 },
- /*exp*/ { 0,1,26, " $*1,234.56| USD *1,234.56"},
- },
- {
- /* #11 */
- /*inp*/ { 32, "%=0#5n|%=0#5i", -1234.561 },
- /*exp*/ { 0,1,26, "-$01,234.56|-USD 01,234.56"},
- },
- {
- /* #12 */
- /*inp*/ { 32, "%^#5n|%^#5i", -1234.561 },
- /*exp*/ { 0,1,24, "-$ 1234.56|-USD 1234.56" },
- },
- {
- /* #13 */
- /*inp*/ { 32, "%#5.0n|%#5.0i", 1234.444 },
- /*exp*/ { 0,1,20, " $ 1,234| USD 1,234" },
- },
- {
- /* #14 */
- /*inp*/ { 32, "%#5.0n|%#5.4i", -1234.555 },
- /*exp*/ { 0,1,25, "-$ 1,235|-USD 1,234.5550"},
- },
- {
- /* #15 */
- /*inp*/ { 32, "%(#5n|%!(#5i", -1234.561 },
- /*exp*/ { 0,1,24, "($ 1,234.56)|( 1,234.56)" },
- },
- { .is_last = 1 }
- }
- },
- {
- #if 0
- { Tstrfmon, TST_LOC_eucJP },
- #else
- { Tstrfmon, TST_LOC_ja_UTF8 },
- #endif
- {
- {
- /* #01 */
- /*inp*/ { 17, "%n %% %i", 123.00 },
- /*exp*/ { 0,1,15, "\241\357123 % JPY 123" },
- },
- {
- /* #02 */
- /*inp*/ { 16, "%n %% %i", 123.00 },
- /*exp*/ { 0,1,15, "\241\357123 % JPY 123" },
- },
- {
- /* #03 */
- /*inp*/ { 15, "%n %% %i", 123.00 },
- /*exp*/ { E2BIG,1,-1, "" },
- },
- {
- /* #04 */
- /*inp*/ { 30, "%n|%i", 1234.561 },
- /*exp*/ { 0,1,17, "\241\3571,235|JPY 1,235" },
- },
- {
- /* #05 */
- /*inp*/ { 32, "%n|%i", -1234.561 },
- /*exp*/ { 0,1,19, "\241\357-1,235|JPY -1,235" },
- },
- {
- /* #06 */
- /*inp*/ { 32, "%12n|%12i", 1234.561 },
- /*exp*/ { 0,1,25, " \241\3571,235| JPY 1,235" },
- },
- {
- /* #07 */
- /*inp*/ { 32, "%12n|%12i", -1234.561 },
- /*exp*/ { 0,1,25, " \241\357-1,235| JPY -1,235" },
- },
- {
- /* #08 */
- /*inp*/ { 32, "%#5n|%#5i", 1234.561 },
- /*exp*/ { 0,1,21, " \241\357 1,235| JPY 1,235" },
- },
- {
- /* #09 */
- /*inp*/ { 32, "%#5n|%#5i", -1234.561 },
- /*exp*/ { 0,1,21, "\241\357- 1,235|JPY - 1,235" },
- },
- {
- /* #10 */
- /*inp*/ { 32, "%=*#5n|%=*#5i", 1234.561 },
- /*exp*/ { 0,1,21, " \241\357*1,235| JPY *1,235" },
- },
- {
- /* #11 */
- /*inp*/ { 32, "%=0#5n|%=0#5i", -1234.561 },
- /*exp*/ { 0,1,21, "\241\357-01,235|JPY -01,235" },
- },
- {
- /* #12 */
- /*inp*/ { 32, "%^#5n|%^#5i", -1234.561 },
- /*exp*/ { 0,1,19, "\241\357- 1235|JPY - 1235" },
- },
- {
- /* #13 */
- /*inp*/ { 32, "%#5.0n|%#5.0i", 1234.444 },
- /*exp*/ { 0,1,21, " \241\357 1,234| JPY 1,234" },
- },
- {
- /* #14 */
- /*inp*/ { 32, "%#5.0n|%#5.4i", -1234.555 },
- /*exp*/ { 0,1,26, "\241\357- 1,235|JPY - 1,234.5550"},
- },
- {
- /* #15 */
- /*inp*/ { 32, "%(#5n|%!(#5i", -1234.561 },
- /*exp*/ { 0,1,19, "(\241\357 1,235)|( 1,235)" },
- },
- { .is_last = 1 }
- }
- },
- {
- { Tstrfmon, TST_LOC_end }
- }
- };
|