(root)/
glibc-2.38/
localedata/
tests-mbwc/
dat_strfmon.c
       1  /*
       2   *  TEST SUITE FOR MB/WC FUNCTIONS IN CLIBRARY
       3   *
       4   *	 FILE:	dat_strfmon.c
       5   *
       6   *	 STRFMON:  size_t strfmon (char *buf, size_t nbyte, char *fmt, ... );
       7   */
       8  
       9  /*
      10   *  NOTE:
      11   *
      12   *  The buffer size should be enough to contain a string including a
      13   *  null char.
      14   *  Returns the number of bytes of the string (NOT including a null char).
      15   */
      16  
      17  TST_STRFMON tst_strfmon_loc [] = {
      18    {
      19      { Tstrfmon, TST_LOC_de },
      20      {
      21        {
      22  	/* #01 */
      23  	/*inp*/ { 24, "%n %% %i",	     123.00			},
      24  	/*exp*/ { 0,1,23,		     "123,00 EUR % 123,00 EUR"	},
      25        },
      26        {
      27  	/* #02 */
      28  	/*inp*/ { 24, "%n %% %i",	     123.00			},
      29  	/*exp*/ { 0,1,23,		     "123,00 EUR % 123,00 EUR"	},
      30        },
      31        {
      32  	/* #03 */
      33  	/*inp*/ { 23, "%n %% %i",	     123.00			},
      34  	/*exp*/ { E2BIG,1,-1,	     ""					},
      35        },
      36        {
      37  	/* #04 */
      38  	/*inp*/ { 31, "%n|%i",	     1234.561				},
      39  	/*exp*/ { 0,1,25,		     "1.234,56 EUR|1.234,56 EUR"},
      40        },
      41        {
      42  	/* #05 */
      43  	/*inp*/ { 33, "%n|%i",	    -1234.561				},
      44  	/*exp*/ { 0,1,27,		     "-1.234,56 EUR|-1.234,56 EUR"},
      45        },
      46        {
      47  	/* #06 */
      48  	/*inp*/ { 33, "%13n|%12i",	     1234.561			},
      49  	/*exp*/ { 0,1,26,		     " 1.234,56 EUR|1.234,56 EUR"},
      50        },
      51        {
      52  	/* #07 */
      53  	/*inp*/ { 33, "%12n|%12i",	    -1234.561			},
      54  	/*exp*/ { 0,1,27,		     "-1.234,56 EUR|-1.234,56 EUR"},
      55        },
      56        {
      57  	/* #08 */
      58  	/*inp*/ { 33, "%#5n|%#5i",	     1234.561			},
      59  	/*exp*/ { 0,1,29,		     "  1.234,56 EUR|  1.234,56 EUR"},
      60        },
      61        {
      62  	/* #09 */
      63  	/*inp*/ { 33, "%#5n|%#5i",	    -1234.561			},
      64  	/*exp*/ { 0,1,29,		     "- 1.234,56 EUR|- 1.234,56 EUR"},
      65        },
      66        {
      67  	/* #10 */
      68  	/*inp*/ { 33, "%=*#5n|%=*#5i",	 1234.561			},
      69  	/*exp*/ { 0,1,29,		     " *1.234,56 EUR| *1.234,56 EUR"},
      70        },
      71        {
      72  	/* #11 */
      73  	/*inp*/ { 33, "%=0#5n|%=0#5i",	-1234.561			},
      74  	/*exp*/ { 0,1,29,		     "-01.234,56 EUR|-01.234,56 EUR"},
      75        },
      76        {
      77  	/* #12 */
      78  	/*inp*/ { 33, "%^#5n|%^#5i",	-1234.561			},
      79  	/*exp*/ { 0,1,27,		     "- 1234,56 EUR|- 1234,56 EUR"},
      80        },
      81        {
      82  	/* #13 */
      83  	/*inp*/ { 33, "%#5.0n|%#5.0i",	 1234.444			},
      84  	/*exp*/ { 0,1,23,		     "  1.234 EUR|  1.234 EUR"	},
      85        },
      86        {
      87  	/* #14 */
      88  	/*inp*/ { 33, "%#5.0n|%#5.4i",	-1234.555			},
      89  	/*exp*/ { 0,1,28,		     "- 1.235 EUR|- 1.234,5550 EUR"},
      90        },
      91        {
      92  	/* #15 */
      93  	/*inp*/ { 33, "%(#5n|%!(#5i",	-1234.561			},
      94  	/*exp*/ { 0,1,27,		     "( 1.234,56 EUR)|( 1.234,56)"},
      95        },
      96        { .is_last = 1 }
      97      }
      98    },
      99    {
     100      { Tstrfmon, TST_LOC_enUS },
     101      {
     102        {
     103  	/* #01 */
     104  	/*inp*/ { 22, "%n %% %i",	     123.00			},
     105  	/*exp*/ { 0,1,20,		     "$123.00 % USD 123.00"	},
     106        },
     107        {
     108  	/* #02 */
     109  	/*inp*/ { 21, "%n %% %i",	     123.00			},
     110  	/*exp*/ { 0,1,20,		     "$123.00 % USD 123.00"	},
     111        },
     112        {
     113  	/* #03 */
     114  	/*inp*/ { 20, "%n %% %i",	     123.00			},
     115  	/*exp*/ { E2BIG,1,-1,	     ""					},
     116        },
     117        {
     118  	/* #04 */
     119  	/*inp*/ { 30, "%n|%i",	     1234.561				},
     120  	/*exp*/ { 0,1,22,		     "$1,234.56|USD 1,234.56"	},
     121        },
     122        {
     123  	/* #05 */
     124  	/*inp*/ { 32, "%n|%i",	    -1234.561				},
     125  	/*exp*/ { 0,1,24,		     "-$1,234.56|-USD 1,234.56"	},
     126        },
     127        {
     128  	/* #06 */
     129  	/*inp*/ { 30, "%12n|%12i",	     1234.561			},
     130  	/*exp*/ { 0,1,25,		     "   $1,234.56|USD 1,234.56"},
     131        },
     132        {
     133  	/* #07 */
     134  	/*inp*/ { 32, "%12n|%12i",	    -1234.561			},
     135  	/*exp*/ { 0,1,26,		     "  -$1,234.56|-USD 1,234.56"},
     136        },
     137        {
     138  	/* #08 */
     139  	/*inp*/ { 32, "%#5n|%#5i",	     1234.561			},
     140  	/*exp*/ { 0,1,26,		     " $ 1,234.56| USD  1,234.56"},
     141        },
     142        {
     143  	/* #09 */
     144  	/*inp*/ { 32, "%#5n|%#5i",	    -1234.561			},
     145  	/*exp*/ { 0,1,26,		     "-$ 1,234.56|-USD  1,234.56"},
     146        },
     147        {
     148  	/* #10 */
     149  	/*inp*/ { 32, "%=*#5n|%=*#5i",	 1234.561			},
     150  	/*exp*/ { 0,1,26,		     " $*1,234.56| USD *1,234.56"},
     151        },
     152        {
     153  	/* #11 */
     154  	/*inp*/ { 32, "%=0#5n|%=0#5i",	-1234.561			},
     155  	/*exp*/ { 0,1,26,		     "-$01,234.56|-USD 01,234.56"},
     156        },
     157        {
     158  	/* #12 */
     159  	/*inp*/ { 32, "%^#5n|%^#5i",	-1234.561			},
     160  	/*exp*/ { 0,1,24,		     "-$ 1234.56|-USD  1234.56"	},
     161        },
     162        {
     163  	/* #13 */
     164  	/*inp*/ { 32, "%#5.0n|%#5.0i",	 1234.444			},
     165  	/*exp*/ { 0,1,20,		     " $ 1,234| USD  1,234"	},
     166        },
     167        {
     168  	/* #14 */
     169  	/*inp*/ { 32, "%#5.0n|%#5.4i",	-1234.555			},
     170  	/*exp*/ { 0,1,25,		     "-$ 1,235|-USD  1,234.5550"},
     171        },
     172        {
     173  	/* #15 */
     174  	/*inp*/ { 32, "%(#5n|%!(#5i",	-1234.561			},
     175  	/*exp*/ { 0,1,24,		     "($ 1,234.56)|( 1,234.56)"	},
     176        },
     177        { .is_last = 1 }
     178      }
     179    },
     180    {
     181      { Tstrfmon, TST_LOC_eucJP },
     182      {
     183        {
     184  	/* #01 */
     185  	/*inp*/ { 17, "%n %% %i",	 123.00				   },
     186  	/*exp*/ { 0,1,15,		 "\241\357123 % JPY 123"	   },
     187        },
     188        {
     189  	/* #02 */
     190  	/*inp*/ { 16, "%n %% %i",	 123.00				   },
     191  	/*exp*/ { 0,1,15,		 "\241\357123 % JPY 123"	   },
     192        },
     193        {
     194  	/* #03 */
     195  	/*inp*/ { 15, "%n %% %i",	 123.00				   },
     196  	/*exp*/ { E2BIG,1,-1,		 ""				   },
     197        },
     198        {
     199  	/* #04 */
     200  	/*inp*/ { 30, "%n|%i",		 1234.561			   },
     201  	/*exp*/ { 0,1,17,		 "\241\3571,235|JPY 1,235"	   },
     202        },
     203        {
     204  	/* #05 */
     205  	/*inp*/ { 32, "%n|%i",		-1234.561			   },
     206  	/*exp*/ { 0,1,19,		 "\241\357-1,235|JPY -1,235"	   },
     207        },
     208        {
     209  	/* #06 */
     210  	/*inp*/ { 32, "%12n|%12i",	 1234.561			   },
     211  	/*exp*/ { 0,1,25,		 "     \241\3571,235|   JPY 1,235" },
     212        },
     213        {
     214  	/* #07 */
     215  	/*inp*/ { 32, "%12n|%12i",	-1234.561			   },
     216  	/*exp*/ { 0,1,25,		 "    \241\357-1,235|  JPY -1,235" },
     217        },
     218        {
     219  	/* #08 */
     220  	/*inp*/ { 32, "%#5n|%#5i",	 1234.561			   },
     221  	/*exp*/ { 0,1,21,		 " \241\357 1,235| JPY  1,235"	   },
     222        },
     223        {
     224  	/* #09 */
     225  	/*inp*/ { 32, "%#5n|%#5i",	-1234.561			   },
     226  	/*exp*/ { 0,1,21,		 "\241\357- 1,235|JPY - 1,235"	   },
     227        },
     228        {
     229  	/* #10 */
     230  	/*inp*/ { 32, "%=*#5n|%=*#5i",	 1234.561			   },
     231  	/*exp*/ { 0,1,21,		 " \241\357*1,235| JPY *1,235"	   },
     232        },
     233        {
     234  	/* #11 */
     235  	/*inp*/ { 32, "%=0#5n|%=0#5i",	-1234.561			   },
     236  	/*exp*/ { 0,1,21,		 "\241\357-01,235|JPY -01,235"	   },
     237        },
     238        {
     239  	/* #12 */
     240  	/*inp*/ { 32, "%^#5n|%^#5i",	-1234.561			   },
     241  	/*exp*/ { 0,1,19,		 "\241\357- 1235|JPY - 1235"	   },
     242        },
     243        {
     244  	/* #13 */
     245  	/*inp*/ { 32, "%#5.0n|%#5.0i",	 1234.444			   },
     246  	/*exp*/ { 0,1,21,		 " \241\357 1,234| JPY  1,234"	   },
     247        },
     248        {
     249  	/* #14 */
     250  	/*inp*/ { 32, "%#5.0n|%#5.4i",	-1234.555			   },
     251  	/*exp*/ { 0,1,26,		 "\241\357- 1,235|JPY - 1,234.5550"},
     252        },
     253        {
     254  	/* #15 */
     255  	/*inp*/ { 32, "%(#5n|%!(#5i",	-1234.561			   },
     256  	/*exp*/ { 0,1,19,		 "(\241\357 1,235)|( 1,235)"	   },
     257        },
     258        { .is_last = 1 }
     259      }
     260    },
     261    {
     262      { Tstrfmon, TST_LOC_end }
     263    }
     264  };