mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-14 09:01:07 +00:00
dd17514ce7
2003-11-30 Petter Reinholdtsen <pere@hungry.com> * stdlib/strfmon.c: Correct formatting of international currency values. The international currency formatting should prefer the int_* values if they are set for a locale, and use the domestic values if the int_* values are unset.
351 lines
13 KiB
Plaintext
351 lines
13 KiB
Plaintext
# Test data for test-strfmon, which checks it's implementation in glibc
|
|
# Copyright (C) 1996, 1997, 2000, 2002, 2003 Free Software Foundation, Inc.
|
|
# This file is part of the GNU C Library.
|
|
# Contributed by Jochen Hein <jochen.hein@delphi.central.de>, 1997.
|
|
#
|
|
|
|
# The GNU C Library is free software; you can redistribute it and/or
|
|
# modify it under the terms of the GNU Lesser General Public
|
|
# License as published by the Free Software Foundation; either
|
|
# version 2.1 of the License, or (at your option) any later version.
|
|
|
|
# The GNU C Library is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
# Lesser General Public License for more details.
|
|
|
|
# You should have received a copy of the GNU Lesser General Public
|
|
# License along with the GNU C Library; if not, write to the Free
|
|
# Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
|
# 02111-1307 USA.
|
|
|
|
# The format of this file is pretty simple: Each line contains a test
|
|
# for strfmon. Fields are separated by TABs. Lines that start with a
|
|
# '#' are comments and are ignored.
|
|
#
|
|
# Field Description
|
|
# #1 locale which is to be checked
|
|
# #2 format string which is fed into strfmon
|
|
# #3 double value that is used for formatting
|
|
# #4 the expected result (may contain trailing spaces!)
|
|
# This field might be enclosed with "" to make it easier to see
|
|
# the white space
|
|
#
|
|
# First the implementation without any locale-dependent data
|
|
# - no currency symbol is printed, formatting is somewhat standard
|
|
C %n 1.23 1.23
|
|
C %n -1.23 -1.23
|
|
C %n 0 0.00
|
|
C %% 0 %
|
|
C *%n* 1.23 *1.23*
|
|
C %9n 1.23 1.23
|
|
C %9n -1.23 -1.23
|
|
C %#9n 1.23 1.23
|
|
C %#9n -1.23 - 1.23
|
|
C %=*#9n 1.23 ********1.23
|
|
C %=*#9n -1.23 -********1.23
|
|
#
|
|
# check both the german locale and strfmon with that data
|
|
#
|
|
de_DE.ISO-8859-1 %n 1.23 1,23 EUR
|
|
de_DE.ISO-8859-1 %n -1.23 -1,23 EUR
|
|
de_DE.ISO-8859-1 %n 1234.56 1.234,56 EUR
|
|
de_DE.ISO-8859-1 %12n 123.45 123,45 EUR
|
|
de_DE.ISO-8859-1 %12n -123.45 -123,45 EUR
|
|
de_DE.ISO-8859-1 %12n 3456.781 3.456,78 EUR
|
|
de_DE.ISO-8859-1 %^n 1234.56 1234,56 EUR
|
|
de_DE.ISO-8859-1 %+n 1234.56 1.234,56 EUR
|
|
de_DE.ISO-8859-1 %+n -1234.56 -1.234,56 EUR
|
|
de_DE.ISO-8859-1 %(n 1234.56 1.234,56 EUR
|
|
de_DE.ISO-8859-1 %(n -1234.56 (1.234,56 EUR)
|
|
de_DE.ISO-8859-1 %^n 1234.56 1234,56 EUR
|
|
de_DE.ISO-8859-1 %i 1.23 1,23 EUR
|
|
de_DE.ISO-8859-1 %i -1.23 -1,23 EUR
|
|
de_DE.ISO-8859-1 %i 1234.56 1.234,56 EUR
|
|
de_DE.ISO-8859-1 %^i 1234.56 1234,56 EUR
|
|
de_DE.ISO-8859-1 %+i 1234.56 1.234,56 EUR
|
|
de_DE.ISO-8859-1 %+i -1234.56 -1.234,56 EUR
|
|
de_DE.ISO-8859-1 %(i 1234.56 1.234,56 EUR
|
|
de_DE.ISO-8859-1 %(i -1234.56 (1.234,56 EUR)
|
|
de_DE.ISO-8859-1 %^i 1234.56 1234,56 EUR
|
|
de_DE.ISO-8859-1 %#5n 123.45 123,45 EUR
|
|
de_DE.ISO-8859-1 %#5n -123.45 - 123,45 EUR
|
|
de_DE.ISO-8859-1 %#5n 3456.781 3.456,78 EUR
|
|
de_DE.ISO-8859-1 %=*#5n 123.45 ***123,45 EUR
|
|
de_DE.ISO-8859-1 %=*#5n -123.45 -***123,45 EUR
|
|
de_DE.ISO-8859-1 %=*#5n 3456.781 *3.456,78 EUR
|
|
de_DE.ISO-8859-1 %=0#5n 123.45 000123,45 EUR
|
|
de_DE.ISO-8859-1 %=0#5n -123.45 -000123,45 EUR
|
|
de_DE.ISO-8859-1 %=0#5n 3456.781 03.456,78 EUR
|
|
de_DE.ISO-8859-1 %^#5n 123.45 123,45 EUR
|
|
de_DE.ISO-8859-1 %^#5n -123.45 - 123,45 EUR
|
|
de_DE.ISO-8859-1 %^#5n 3456.781 3456,78 EUR
|
|
de_DE.ISO-8859-1 %^#5.0n 123.45 123 EUR
|
|
de_DE.ISO-8859-1 %^#5.0n -123.45 - 123 EUR
|
|
de_DE.ISO-8859-1 %^#5.0n 3456.781 3457 EUR
|
|
de_DE.ISO-8859-1 %^#5.4n 123.45 123,4500 EUR
|
|
de_DE.ISO-8859-1 %^#5.4n -123.45 - 123,4500 EUR
|
|
de_DE.ISO-8859-1 %^#5.4n 3456.781 3456,7810 EUR
|
|
de_DE.ISO-8859-1 %(#5n 123.45 123,45 EUR
|
|
de_DE.ISO-8859-1 %(#5n -123.45 ( 123,45 EUR)
|
|
de_DE.ISO-8859-1 %(#5n 3456.781 3.456,78 EUR
|
|
de_DE.ISO-8859-1 %!(#5n 123.45 123,45
|
|
de_DE.ISO-8859-1 %!(#5n -123.45 ( 123,45)
|
|
de_DE.ISO-8859-1 %!(#5n 3456.781 3.456,78
|
|
#
|
|
# check both the en_US locale and strfmon with that data
|
|
# a lot of this checks are created from a strfmon(3) man-page.
|
|
#
|
|
en_US.ISO-8859-1 %n 123.45 $123.45
|
|
en_US.ISO-8859-1 %n -123.45 -$123.45
|
|
en_US.ISO-8859-1 %n 3456.781 $3,456.78
|
|
en_US.ISO-8859-1 %i 123.45 USD 123.45
|
|
en_US.ISO-8859-1 %i -123.45 -USD 123.45
|
|
en_US.ISO-8859-1 %i 3456.781 USD 3,456.78
|
|
en_US.ISO-8859-1 %11n 123.45 $123.45
|
|
en_US.ISO-8859-1 %11n -123.45 -$123.45
|
|
en_US.ISO-8859-1 %11n 3456.781 $3,456.78
|
|
en_US.ISO-8859-1 %=*#5n 123.45 $***123.45
|
|
en_US.ISO-8859-1 %=*#5n -123.45 -$***123.45
|
|
en_US.ISO-8859-1 %=*#5n 3456.781 $*3,456.78
|
|
en_US.ISO-8859-1 %=0#5n 123.45 $000123.45
|
|
en_US.ISO-8859-1 %=0#5n -123.45 -$000123.45
|
|
en_US.ISO-8859-1 %=0#5n 3456.781 $03,456.78
|
|
en_US.ISO-8859-1 %^#5n 123.45 $ 123.45
|
|
en_US.ISO-8859-1 %^#5n -123.45 -$ 123.45
|
|
en_US.ISO-8859-1 %^#5n 3456.781 $ 3456.78
|
|
en_US.ISO-8859-1 %^#5.0n 123.45 $ 123
|
|
en_US.ISO-8859-1 %^#5.0n -123.45 -$ 123
|
|
en_US.ISO-8859-1 %^#5.0n 3456.781 $ 3457
|
|
en_US.ISO-8859-1 %^#5.4n 123.45 $ 123.4500
|
|
en_US.ISO-8859-1 %^#5.4n -123.45 -$ 123.4500
|
|
en_US.ISO-8859-1 %^#5.4n 3456.781 $ 3456.7810
|
|
en_US.ISO-8859-1 %(#5n 123.45 $ 123.45
|
|
en_US.ISO-8859-1 %(#5n -123.45 ($ 123.45)
|
|
en_US.ISO-8859-1 %(#5n 3456.781 $ 3,456.78
|
|
en_US.ISO-8859-1 %!(#5n 123.45 123.45
|
|
en_US.ISO-8859-1 %!(#5n -123.45 ( 123.45)
|
|
en_US.ISO-8859-1 %!(#5n 3456.781 3,456.78
|
|
en_US.ISO-8859-1 %#5n 123.45 $ 123.45
|
|
en_US.ISO-8859-1 %#5n -123.45 -$ 123.45
|
|
en_US.ISO-8859-1 %#5n 3456.781 $ 3,456.78
|
|
#
|
|
# check all cs_precedes/sign_posn/sep_by_space combinations using
|
|
# special test locales. The six characters after the "_" indicate
|
|
# these three values for positive and then negative quantities.
|
|
#
|
|
tstfmon_n01y12 %n 123.45 123.45 $
|
|
tstfmon_n01y12 %n -123.45 - $123.45
|
|
tstfmon_n01y12 %11n 123.45 123.45 $
|
|
tstfmon_n01y12 %11n -123.45 - $123.45
|
|
tstfmon_n01y12 %^=*#5n 123.45 **123.45 $
|
|
tstfmon_n01y12 %^=*#5n -123.45 - $**123.45
|
|
#
|
|
tstfmon_n02n40 %n 123.45 123.45$
|
|
tstfmon_n02n40 %n -123.45 123.45$-
|
|
tstfmon_n02n40 %11n 123.45 123.45$
|
|
tstfmon_n02n40 %11n -123.45 123.45$-
|
|
tstfmon_n02n40 %^=*#5n 123.45 **123.45$
|
|
tstfmon_n02n40 %^=*#5n -123.45 **123.45$-
|
|
#
|
|
tstfmon_n10y31 %n 123.45 +123.45$
|
|
tstfmon_n10y31 %n -123.45 -$ 123.45
|
|
tstfmon_n10y31 %11n 123.45 +123.45$
|
|
tstfmon_n10y31 %11n -123.45 -$ 123.45
|
|
tstfmon_n10y31 %^=*#5n 123.45 +**123.45$
|
|
tstfmon_n10y31 %^=*#5n -123.45 -$ **123.45
|
|
#
|
|
tstfmon_n11y41 %n 123.45 +123.45 $
|
|
tstfmon_n11y41 %n -123.45 $- 123.45
|
|
tstfmon_n11y41 %11n 123.45 +123.45 $
|
|
tstfmon_n11y41 %11n -123.45 $- 123.45
|
|
tstfmon_n11y41 %^=*#5n 123.45 +**123.45 $
|
|
tstfmon_n11y41 %^=*#5n -123.45 $- **123.45
|
|
#
|
|
tstfmon_n12y11 %n 123.45 +123.45$
|
|
tstfmon_n12y11 %n -123.45 -$ 123.45
|
|
tstfmon_n12y11 %11n 123.45 +123.45$
|
|
tstfmon_n12y11 %11n -123.45 -$ 123.45
|
|
tstfmon_n12y11 %^=*#5n 123.45 +**123.45$
|
|
tstfmon_n12y11 %^=*#5n -123.45 -$ **123.45
|
|
#
|
|
tstfmon_n20n32 %n 123.45 123.45$+
|
|
tstfmon_n20n32 %n -123.45 123.45- $
|
|
tstfmon_n20n32 %11n 123.45 123.45$+
|
|
tstfmon_n20n32 %11n -123.45 123.45- $
|
|
tstfmon_n20n32 %^=*#5n 123.45 **123.45$+
|
|
tstfmon_n20n32 %^=*#5n -123.45 **123.45- $
|
|
#
|
|
tstfmon_n30y20 %n 123.45 123.45+$
|
|
tstfmon_n30y20 %n -123.45 $123.45-
|
|
tstfmon_n30y20 %11n 123.45 123.45+$
|
|
tstfmon_n30y20 %11n -123.45 $123.45-
|
|
tstfmon_n30y20 %^=*#5n 123.45 **123.45+$
|
|
tstfmon_n30y20 %^=*#5n -123.45 $**123.45-
|
|
#
|
|
tstfmon_n41n00 %n 123.45 123.45 $+
|
|
tstfmon_n41n00 %n -123.45 (123.45$)
|
|
tstfmon_n41n00 %11n 123.45 123.45 $+
|
|
tstfmon_n41n00 %11n -123.45 (123.45$)
|
|
tstfmon_n41n00 %^=*#5n 123.45 **123.45 $+
|
|
tstfmon_n41n00 %^=*#5n -123.45 (**123.45$)
|
|
#
|
|
tstfmon_y01y10 %n 123.45 $ 123.45
|
|
tstfmon_y01y10 %n -123.45 -$123.45
|
|
tstfmon_y01y10 %11n 123.45 $ 123.45
|
|
tstfmon_y01y10 %11n -123.45 -$123.45
|
|
tstfmon_y01y10 %^=*#5n 123.45 $ **123.45
|
|
tstfmon_y01y10 %^=*#5n -123.45 -$**123.45
|
|
#
|
|
tstfmon_y02n22 %n 123.45 $123.45
|
|
tstfmon_y02n22 %n -123.45 123.45$ O/D
|
|
tstfmon_y02n22 %12n 123.45 $123.45
|
|
tstfmon_y02n22 %12n -123.45 123.45$ O/D
|
|
tstfmon_y02n22 %^=*#5n 123.45 $**123.45
|
|
tstfmon_y02n22 %^=*#5n -123.45 **123.45$ O/D
|
|
#
|
|
tstfmon_y22n42 %n 123.45 $123.45+
|
|
tstfmon_y22n42 %n -123.45 123.45$ -
|
|
tstfmon_y22n42 %11n 123.45 $123.45+
|
|
tstfmon_y22n42 %11n -123.45 123.45$ -
|
|
tstfmon_y22n42 %^=*#5n 123.45 $**123.45+
|
|
tstfmon_y22n42 %^=*#5n -123.45 **123.45$ -
|
|
#
|
|
tstfmon_y30y21 %n 123.45 +$123.45
|
|
tstfmon_y30y21 %n -123.45 $ 123.45-
|
|
tstfmon_y30y21 %11n 123.45 +$123.45
|
|
tstfmon_y30y21 %11n -123.45 $ 123.45-
|
|
tstfmon_y30y21 %^=*#5n 123.45 +$**123.45
|
|
tstfmon_y30y21 %^=*#5n -123.45 $ **123.45-
|
|
#
|
|
tstfmon_y32n31 %n 123.45 + $123.45
|
|
tstfmon_y32n31 %n -123.45 123.45 -$
|
|
tstfmon_y32n31 %11n 123.45 + $123.45
|
|
tstfmon_y32n31 %11n -123.45 123.45 -$
|
|
tstfmon_y32n31 %^=*#5n 123.45 + $**123.45
|
|
tstfmon_y32n31 %^=*#5n -123.45 **123.45 -$
|
|
#
|
|
tstfmon_y40y00 %n 123.45 $+123.45
|
|
tstfmon_y40y00 %n -123.45 ($123.45)
|
|
tstfmon_y40y00 %11n 123.45 $+123.45
|
|
tstfmon_y40y00 %11n -123.45 ($123.45)
|
|
tstfmon_y40y00 %^=*#5n 123.45 $+**123.45
|
|
tstfmon_y40y00 %^=*#5n -123.45 ($**123.45)
|
|
#
|
|
tstfmon_y42n21 %n 123.45 $ +123.45
|
|
tstfmon_y42n21 %n -123.45 123.45 $-
|
|
tstfmon_y42n21 %11n 123.45 $ +123.45
|
|
tstfmon_y42n21 %11n -123.45 123.45 $-
|
|
tstfmon_y42n21 %^=*#5n 123.45 $ +**123.45
|
|
tstfmon_y42n21 %^=*#5n -123.45 **123.45 $-
|
|
#
|
|
# check all int_cs_precedes/int_sign_posn/int_sep_by_space
|
|
# combinations using special test locales. The six characters after
|
|
# the "_" indicate these three values for positive and then negative
|
|
# quantities.
|
|
#
|
|
tstfmon_n01y12 %i 123.45 "123.45 USC"
|
|
tstfmon_n01y12 %i -123.45 "- USC123.45"
|
|
tstfmon_n01y12 %13i 123.45 " 123.45 USC"
|
|
tstfmon_n01y12 %13i -123.45 " - USC123.45"
|
|
tstfmon_n01y12 %^=*#5i 123.45 " **123.45 USC"
|
|
tstfmon_n01y12 %^=*#5i -123.45 "- USC**123.45"
|
|
#
|
|
tstfmon_n02n40 %i 123.45 "123.45USC"
|
|
tstfmon_n02n40 %i -123.45 "123.45USC-"
|
|
tstfmon_n02n40 %13i 123.45 " 123.45USC"
|
|
tstfmon_n02n40 %13i -123.45 " 123.45USC-"
|
|
tstfmon_n02n40 %^=*#5i 123.45 "**123.45USC"
|
|
tstfmon_n02n40 %^=*#5i -123.45 "**123.45USC-"
|
|
#
|
|
tstfmon_n10y31 %i 123.45 "+123.45USC"
|
|
tstfmon_n10y31 %i -123.45 "-USC 123.45"
|
|
tstfmon_n10y31 %13i 123.45 " +123.45USC"
|
|
tstfmon_n10y31 %13i -123.45 " -USC 123.45"
|
|
tstfmon_n10y31 %^=*#5i 123.45 " +**123.45USC"
|
|
tstfmon_n10y31 %^=*#5i -123.45 "-USC **123.45"
|
|
#
|
|
tstfmon_n11y41 %i 123.45 "+123.45 USC"
|
|
tstfmon_n11y41 %i -123.45 "USC- 123.45"
|
|
tstfmon_n11y41 %13i 123.45 " +123.45 USC"
|
|
tstfmon_n11y41 %13i -123.45 " USC- 123.45"
|
|
tstfmon_n11y41 %^=*#5i 123.45 " +**123.45 USC"
|
|
tstfmon_n11y41 %^=*#5i -123.45 "USC- **123.45"
|
|
#
|
|
tstfmon_n12y11 %i 123.45 "+123.45USC"
|
|
tstfmon_n12y11 %i -123.45 "-USC 123.45"
|
|
tstfmon_n12y11 %13i 123.45 " +123.45USC"
|
|
tstfmon_n12y11 %13i -123.45 " -USC 123.45"
|
|
tstfmon_n12y11 %^=*#5i 123.45 " +**123.45USC"
|
|
tstfmon_n12y11 %^=*#5i -123.45 "-USC **123.45"
|
|
#
|
|
tstfmon_n20n32 %i 123.45 "123.45USC+"
|
|
tstfmon_n20n32 %i -123.45 "123.45- USC"
|
|
tstfmon_n20n32 %13i 123.45 " 123.45USC+"
|
|
tstfmon_n20n32 %13i -123.45 " 123.45- USC"
|
|
tstfmon_n20n32 %^=*#5i 123.45 "**123.45USC+"
|
|
tstfmon_n20n32 %^=*#5i -123.45 "**123.45- USC"
|
|
#
|
|
tstfmon_n30y20 %i 123.45 "123.45+USC"
|
|
tstfmon_n30y20 %i -123.45 "USC123.45-"
|
|
tstfmon_n30y20 %13i 123.45 " 123.45+USC"
|
|
tstfmon_n30y20 %13i -123.45 " USC123.45-"
|
|
tstfmon_n30y20 %^=*#5i 123.45 " **123.45+USC"
|
|
tstfmon_n30y20 %^=*#5i -123.45 "USC**123.45-"
|
|
#
|
|
tstfmon_n41n00 %i 123.45 "123.45 USC+"
|
|
tstfmon_n41n00 %i -123.45 "(123.45USC)"
|
|
tstfmon_n41n00 %13i 123.45 " 123.45 USC+"
|
|
tstfmon_n41n00 %13i -123.45 " (123.45USC)"
|
|
tstfmon_n41n00 %^=*#5i 123.45 " **123.45 USC+"
|
|
tstfmon_n41n00 %^=*#5i -123.45 "(**123.45USC)"
|
|
#
|
|
tstfmon_y01y10 %i 123.45 "USC 123.45"
|
|
tstfmon_y01y10 %i -123.45 "-USC123.45"
|
|
tstfmon_y01y10 %13i 123.45 " USC 123.45"
|
|
tstfmon_y01y10 %13i -123.45 " -USC123.45"
|
|
tstfmon_y01y10 %^=*#5i 123.45 "USC **123.45"
|
|
tstfmon_y01y10 %^=*#5i -123.45 "-USC**123.45"
|
|
#
|
|
tstfmon_y02n22 %i 123.45 "USC123.45"
|
|
tstfmon_y02n22 %i -123.45 "123.45USC O/D"
|
|
tstfmon_y02n22 %12i 123.45 " USC123.45"
|
|
tstfmon_y02n22 %12i -123.45 "123.45USC O/D"
|
|
tstfmon_y02n22 %^=*#5i 123.45 "USC**123.45"
|
|
tstfmon_y02n22 %^=*#5i -123.45 " **123.45USC O/D"
|
|
#
|
|
tstfmon_y22n42 %i 123.45 "USC123.45+"
|
|
tstfmon_y22n42 %i -123.45 "123.45USC -"
|
|
tstfmon_y22n42 %13i 123.45 " USC123.45+"
|
|
tstfmon_y22n42 %13i -123.45 " 123.45USC -"
|
|
tstfmon_y22n42 %^=*#5i 123.45 "USC**123.45+"
|
|
tstfmon_y22n42 %^=*#5i -123.45 " **123.45USC -"
|
|
#
|
|
tstfmon_y30y21 %i 123.45 "+USC123.45"
|
|
tstfmon_y30y21 %i -123.45 "USC 123.45-"
|
|
tstfmon_y30y21 %13i 123.45 " +USC123.45"
|
|
tstfmon_y30y21 %13i -123.45 " USC 123.45-"
|
|
tstfmon_y30y21 %^=*#5i 123.45 "+USC**123.45"
|
|
tstfmon_y30y21 %^=*#5i -123.45 "USC **123.45-"
|
|
#
|
|
tstfmon_y32n31 %i 123.45 "+ USC123.45"
|
|
tstfmon_y32n31 %i -123.45 "123.45 -USC"
|
|
tstfmon_y32n31 %13i 123.45 " + USC123.45"
|
|
tstfmon_y32n31 %13i -123.45 " 123.45 -USC"
|
|
tstfmon_y32n31 %^=*#5i 123.45 "+ USC**123.45"
|
|
tstfmon_y32n31 %^=*#5i -123.45 " **123.45 -USC"
|
|
#
|
|
tstfmon_y40y00 %i 123.45 "USC+123.45"
|
|
tstfmon_y40y00 %i -123.45 "(USC123.45)"
|
|
tstfmon_y40y00 %13i 123.45 " USC+123.45"
|
|
tstfmon_y40y00 %13i -123.45 " (USC123.45)"
|
|
tstfmon_y40y00 %^=*#5i 123.45 "USC+**123.45"
|
|
tstfmon_y40y00 %^=*#5i -123.45 "(USC**123.45)"
|
|
#
|
|
tstfmon_y42n21 %i 123.45 "USC +123.45"
|
|
tstfmon_y42n21 %i -123.45 "123.45 USC-"
|
|
tstfmon_y42n21 %13i 123.45 " USC +123.45"
|
|
tstfmon_y42n21 %13i -123.45 " 123.45 USC-"
|
|
tstfmon_y42n21 %^=*#5i 123.45 "USC +**123.45"
|
|
tstfmon_y42n21 %^=*#5i -123.45 " **123.45 USC-"
|