]> git.ipfire.org Git - thirdparty/glibc.git/blame - localedata/tst-fmon.data
Update copyright dates with scripts/update-copyrights.
[thirdparty/glibc.git] / localedata / tst-fmon.data
CommitLineData
49891c10 1# Test data for test-strfmon, which checks it's implementation in glibc
d614a753 2# Copyright (C) 1996-2020 Free Software Foundation, Inc.
49891c10
UD
3# This file is part of the GNU C Library.
4# Contributed by Jochen Hein <jochen.hein@delphi.central.de>, 1997.
5#
41bdb6e2 6
49891c10 7# The GNU C Library is free software; you can redistribute it and/or
41bdb6e2
AJ
8# modify it under the terms of the GNU Lesser General Public
9# License as published by the Free Software Foundation; either
10# version 2.1 of the License, or (at your option) any later version.
11
49891c10
UD
12# The GNU C Library is distributed in the hope that it will be useful,
13# but WITHOUT ANY WARRANTY; without even the implied warranty of
14# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
41bdb6e2
AJ
15# Lesser General Public License for more details.
16
17# You should have received a copy of the GNU Lesser General Public
59ba27a6 18# License along with the GNU C Library; if not, see
5a82c748 19# <https://www.gnu.org/licenses/>.
49891c10
UD
20
21# The format of this file is pretty simple: Each line contains a test
8956ac9e 22# for strfmon. Fields are separated by TABs. Lines that start with a
49891c10
UD
23# '#' are comments and are ignored.
24#
22d5fbfe 25# Field Description
49891c10
UD
26# #1 locale which is to be checked
27# #2 format string which is fed into strfmon
28# #3 double value that is used for formatting
29# #4 the expected result (may contain trailing spaces!)
dd17514c
UD
30# This field might be enclosed with "" to make it easier to see
31# the white space
49891c10
UD
32#
33# First the implementation without any locale-dependent data
34# - no currency symbol is printed, formatting is somewhat standard
22d5fbfe 35C %n 1.23 1.23
49891c10 36C %n -1.23 -1.23
22d5fbfe 37C %n 0 0.00
49891c10 38C %% 0 %
22d5fbfe 39C *%n* 1.23 *1.23*
49891c10 40C %9n 1.23 1.23
9e9e0532
UD
41C %9n -1.23 -1.23
42C %#9n 1.23 1.23
43C %#9n -1.23 - 1.23
44C %=*#9n 1.23 ********1.23
45C %=*#9n -1.23 -********1.23
3451e12e
UD
46C %-14#5.4n 1.23 " 1.2300 "
47C %-14#5.4n -1.23 "- 1.2300 "
48C %-14#5.4n 123.45 " 123.4500 "
49C %-14#5.4n 123456 " 123456.0000 "
49891c10
UD
50#
51# check both the german locale and strfmon with that data
52#
90a77d0a
UD
53de_DE.ISO-8859-1 %n 1.23 1,23 EUR
54de_DE.ISO-8859-1 %n -1.23 -1,23 EUR
55de_DE.ISO-8859-1 %n 1234.56 1.234,56 EUR
56de_DE.ISO-8859-1 %12n 123.45 123,45 EUR
57de_DE.ISO-8859-1 %12n -123.45 -123,45 EUR
58de_DE.ISO-8859-1 %12n 3456.781 3.456,78 EUR
59de_DE.ISO-8859-1 %^n 1234.56 1234,56 EUR
60de_DE.ISO-8859-1 %+n 1234.56 1.234,56 EUR
61de_DE.ISO-8859-1 %+n -1234.56 -1.234,56 EUR
62de_DE.ISO-8859-1 %(n 1234.56 1.234,56 EUR
63de_DE.ISO-8859-1 %(n -1234.56 (1.234,56 EUR)
64de_DE.ISO-8859-1 %^n 1234.56 1234,56 EUR
65de_DE.ISO-8859-1 %i 1.23 1,23 EUR
66de_DE.ISO-8859-1 %i -1.23 -1,23 EUR
67de_DE.ISO-8859-1 %i 1234.56 1.234,56 EUR
68de_DE.ISO-8859-1 %^i 1234.56 1234,56 EUR
69de_DE.ISO-8859-1 %+i 1234.56 1.234,56 EUR
70de_DE.ISO-8859-1 %+i -1234.56 -1.234,56 EUR
71de_DE.ISO-8859-1 %(i 1234.56 1.234,56 EUR
72de_DE.ISO-8859-1 %(i -1234.56 (1.234,56 EUR)
73de_DE.ISO-8859-1 %^i 1234.56 1234,56 EUR
74de_DE.ISO-8859-1 %#5n 123.45 123,45 EUR
75de_DE.ISO-8859-1 %#5n -123.45 - 123,45 EUR
76de_DE.ISO-8859-1 %#5n 3456.781 3.456,78 EUR
77de_DE.ISO-8859-1 %=*#5n 123.45 ***123,45 EUR
78de_DE.ISO-8859-1 %=*#5n -123.45 -***123,45 EUR
79de_DE.ISO-8859-1 %=*#5n 3456.781 *3.456,78 EUR
80de_DE.ISO-8859-1 %=0#5n 123.45 000123,45 EUR
81de_DE.ISO-8859-1 %=0#5n -123.45 -000123,45 EUR
82de_DE.ISO-8859-1 %=0#5n 3456.781 03.456,78 EUR
83de_DE.ISO-8859-1 %^#5n 123.45 123,45 EUR
84de_DE.ISO-8859-1 %^#5n -123.45 - 123,45 EUR
85de_DE.ISO-8859-1 %^#5n 3456.781 3456,78 EUR
86de_DE.ISO-8859-1 %^#5.0n 123.45 123 EUR
87de_DE.ISO-8859-1 %^#5.0n -123.45 - 123 EUR
88de_DE.ISO-8859-1 %^#5.0n 3456.781 3457 EUR
89de_DE.ISO-8859-1 %^#5.4n 123.45 123,4500 EUR
90de_DE.ISO-8859-1 %^#5.4n -123.45 - 123,4500 EUR
91de_DE.ISO-8859-1 %^#5.4n 3456.781 3456,7810 EUR
92de_DE.ISO-8859-1 %(#5n 123.45 123,45 EUR
93de_DE.ISO-8859-1 %(#5n -123.45 ( 123,45 EUR)
94de_DE.ISO-8859-1 %(#5n 3456.781 3.456,78 EUR
9e9e0532 95de_DE.ISO-8859-1 %!(#5n 123.45 123,45
49891c10 96de_DE.ISO-8859-1 %!(#5n -123.45 ( 123,45)
9e9e0532 97de_DE.ISO-8859-1 %!(#5n 3456.781 3.456,78
49891c10
UD
98#
99# check both the en_US locale and strfmon with that data
100# a lot of this checks are created from a strfmon(3) man-page.
101#
22d5fbfe 102en_US.ISO-8859-1 %n 123.45 $123.45
49891c10 103en_US.ISO-8859-1 %n -123.45 -$123.45
22d5fbfe
UD
104en_US.ISO-8859-1 %n 3456.781 $3,456.78
105en_US.ISO-8859-1 %i 123.45 USD 123.45
49891c10 106en_US.ISO-8859-1 %i -123.45 -USD 123.45
22d5fbfe 107en_US.ISO-8859-1 %i 3456.781 USD 3,456.78
49891c10
UD
108en_US.ISO-8859-1 %11n 123.45 $123.45
109en_US.ISO-8859-1 %11n -123.45 -$123.45
110en_US.ISO-8859-1 %11n 3456.781 $3,456.78
111en_US.ISO-8859-1 %=*#5n 123.45 $***123.45
112en_US.ISO-8859-1 %=*#5n -123.45 -$***123.45
113en_US.ISO-8859-1 %=*#5n 3456.781 $*3,456.78
114en_US.ISO-8859-1 %=0#5n 123.45 $000123.45
115en_US.ISO-8859-1 %=0#5n -123.45 -$000123.45
116en_US.ISO-8859-1 %=0#5n 3456.781 $03,456.78
117en_US.ISO-8859-1 %^#5n 123.45 $ 123.45
118en_US.ISO-8859-1 %^#5n -123.45 -$ 123.45
119en_US.ISO-8859-1 %^#5n 3456.781 $ 3456.78
120en_US.ISO-8859-1 %^#5.0n 123.45 $ 123
121en_US.ISO-8859-1 %^#5.0n -123.45 -$ 123
122en_US.ISO-8859-1 %^#5.0n 3456.781 $ 3457
123en_US.ISO-8859-1 %^#5.4n 123.45 $ 123.4500
124en_US.ISO-8859-1 %^#5.4n -123.45 -$ 123.4500
125en_US.ISO-8859-1 %^#5.4n 3456.781 $ 3456.7810
9e9e0532 126en_US.ISO-8859-1 %(#5n 123.45 $ 123.45
49891c10 127en_US.ISO-8859-1 %(#5n -123.45 ($ 123.45)
9e9e0532
UD
128en_US.ISO-8859-1 %(#5n 3456.781 $ 3,456.78
129en_US.ISO-8859-1 %!(#5n 123.45 123.45
49891c10 130en_US.ISO-8859-1 %!(#5n -123.45 ( 123.45)
9e9e0532 131en_US.ISO-8859-1 %!(#5n 3456.781 3,456.78
49891c10
UD
132en_US.ISO-8859-1 %#5n 123.45 $ 123.45
133en_US.ISO-8859-1 %#5n -123.45 -$ 123.45
134en_US.ISO-8859-1 %#5n 3456.781 $ 3,456.78
8956ac9e
UD
135#
136# check all cs_precedes/sign_posn/sep_by_space combinations using
137# special test locales. The six characters after the "_" indicate
138# these three values for positive and then negative quantities.
139#
140tstfmon_n01y12 %n 123.45 123.45 $
141tstfmon_n01y12 %n -123.45 - $123.45
142tstfmon_n01y12 %11n 123.45 123.45 $
143tstfmon_n01y12 %11n -123.45 - $123.45
144tstfmon_n01y12 %^=*#5n 123.45 **123.45 $
145tstfmon_n01y12 %^=*#5n -123.45 - $**123.45
146#
147tstfmon_n02n40 %n 123.45 123.45$
148tstfmon_n02n40 %n -123.45 123.45$-
149tstfmon_n02n40 %11n 123.45 123.45$
150tstfmon_n02n40 %11n -123.45 123.45$-
151tstfmon_n02n40 %^=*#5n 123.45 **123.45$
152tstfmon_n02n40 %^=*#5n -123.45 **123.45$-
153#
154tstfmon_n10y31 %n 123.45 +123.45$
155tstfmon_n10y31 %n -123.45 -$ 123.45
156tstfmon_n10y31 %11n 123.45 +123.45$
157tstfmon_n10y31 %11n -123.45 -$ 123.45
158tstfmon_n10y31 %^=*#5n 123.45 +**123.45$
159tstfmon_n10y31 %^=*#5n -123.45 -$ **123.45
160#
161tstfmon_n11y41 %n 123.45 +123.45 $
162tstfmon_n11y41 %n -123.45 $- 123.45
163tstfmon_n11y41 %11n 123.45 +123.45 $
164tstfmon_n11y41 %11n -123.45 $- 123.45
165tstfmon_n11y41 %^=*#5n 123.45 +**123.45 $
166tstfmon_n11y41 %^=*#5n -123.45 $- **123.45
167#
168tstfmon_n12y11 %n 123.45 +123.45$
169tstfmon_n12y11 %n -123.45 -$ 123.45
170tstfmon_n12y11 %11n 123.45 +123.45$
171tstfmon_n12y11 %11n -123.45 -$ 123.45
172tstfmon_n12y11 %^=*#5n 123.45 +**123.45$
173tstfmon_n12y11 %^=*#5n -123.45 -$ **123.45
174#
175tstfmon_n20n32 %n 123.45 123.45$+
176tstfmon_n20n32 %n -123.45 123.45- $
177tstfmon_n20n32 %11n 123.45 123.45$+
178tstfmon_n20n32 %11n -123.45 123.45- $
179tstfmon_n20n32 %^=*#5n 123.45 **123.45$+
180tstfmon_n20n32 %^=*#5n -123.45 **123.45- $
181#
182tstfmon_n30y20 %n 123.45 123.45+$
183tstfmon_n30y20 %n -123.45 $123.45-
184tstfmon_n30y20 %11n 123.45 123.45+$
185tstfmon_n30y20 %11n -123.45 $123.45-
186tstfmon_n30y20 %^=*#5n 123.45 **123.45+$
187tstfmon_n30y20 %^=*#5n -123.45 $**123.45-
188#
189tstfmon_n41n00 %n 123.45 123.45 $+
190tstfmon_n41n00 %n -123.45 (123.45$)
191tstfmon_n41n00 %11n 123.45 123.45 $+
192tstfmon_n41n00 %11n -123.45 (123.45$)
193tstfmon_n41n00 %^=*#5n 123.45 **123.45 $+
194tstfmon_n41n00 %^=*#5n -123.45 (**123.45$)
195#
196tstfmon_y01y10 %n 123.45 $ 123.45
197tstfmon_y01y10 %n -123.45 -$123.45
198tstfmon_y01y10 %11n 123.45 $ 123.45
199tstfmon_y01y10 %11n -123.45 -$123.45
200tstfmon_y01y10 %^=*#5n 123.45 $ **123.45
201tstfmon_y01y10 %^=*#5n -123.45 -$**123.45
202#
203tstfmon_y02n22 %n 123.45 $123.45
204tstfmon_y02n22 %n -123.45 123.45$ O/D
205tstfmon_y02n22 %12n 123.45 $123.45
206tstfmon_y02n22 %12n -123.45 123.45$ O/D
207tstfmon_y02n22 %^=*#5n 123.45 $**123.45
208tstfmon_y02n22 %^=*#5n -123.45 **123.45$ O/D
209#
210tstfmon_y22n42 %n 123.45 $123.45+
211tstfmon_y22n42 %n -123.45 123.45$ -
212tstfmon_y22n42 %11n 123.45 $123.45+
213tstfmon_y22n42 %11n -123.45 123.45$ -
214tstfmon_y22n42 %^=*#5n 123.45 $**123.45+
215tstfmon_y22n42 %^=*#5n -123.45 **123.45$ -
216#
217tstfmon_y30y21 %n 123.45 +$123.45
218tstfmon_y30y21 %n -123.45 $ 123.45-
219tstfmon_y30y21 %11n 123.45 +$123.45
220tstfmon_y30y21 %11n -123.45 $ 123.45-
221tstfmon_y30y21 %^=*#5n 123.45 +$**123.45
222tstfmon_y30y21 %^=*#5n -123.45 $ **123.45-
223#
224tstfmon_y32n31 %n 123.45 + $123.45
225tstfmon_y32n31 %n -123.45 123.45 -$
226tstfmon_y32n31 %11n 123.45 + $123.45
227tstfmon_y32n31 %11n -123.45 123.45 -$
228tstfmon_y32n31 %^=*#5n 123.45 + $**123.45
229tstfmon_y32n31 %^=*#5n -123.45 **123.45 -$
230#
231tstfmon_y40y00 %n 123.45 $+123.45
232tstfmon_y40y00 %n -123.45 ($123.45)
233tstfmon_y40y00 %11n 123.45 $+123.45
234tstfmon_y40y00 %11n -123.45 ($123.45)
235tstfmon_y40y00 %^=*#5n 123.45 $+**123.45
236tstfmon_y40y00 %^=*#5n -123.45 ($**123.45)
237#
238tstfmon_y42n21 %n 123.45 $ +123.45
239tstfmon_y42n21 %n -123.45 123.45 $-
240tstfmon_y42n21 %11n 123.45 $ +123.45
241tstfmon_y42n21 %11n -123.45 123.45 $-
242tstfmon_y42n21 %^=*#5n 123.45 $ +**123.45
243tstfmon_y42n21 %^=*#5n -123.45 **123.45 $-
dd17514c
UD
244#
245# check all int_cs_precedes/int_sign_posn/int_sep_by_space
246# combinations using special test locales. The six characters after
247# the "_" indicate these three values for positive and then negative
248# quantities.
249#
250tstfmon_n01y12 %i 123.45 "123.45 USC"
251tstfmon_n01y12 %i -123.45 "- USC123.45"
252tstfmon_n01y12 %13i 123.45 " 123.45 USC"
253tstfmon_n01y12 %13i -123.45 " - USC123.45"
254tstfmon_n01y12 %^=*#5i 123.45 " **123.45 USC"
255tstfmon_n01y12 %^=*#5i -123.45 "- USC**123.45"
256#
257tstfmon_n02n40 %i 123.45 "123.45USC"
258tstfmon_n02n40 %i -123.45 "123.45USC-"
259tstfmon_n02n40 %13i 123.45 " 123.45USC"
260tstfmon_n02n40 %13i -123.45 " 123.45USC-"
261tstfmon_n02n40 %^=*#5i 123.45 "**123.45USC"
262tstfmon_n02n40 %^=*#5i -123.45 "**123.45USC-"
263#
264tstfmon_n10y31 %i 123.45 "+123.45USC"
265tstfmon_n10y31 %i -123.45 "-USC 123.45"
266tstfmon_n10y31 %13i 123.45 " +123.45USC"
267tstfmon_n10y31 %13i -123.45 " -USC 123.45"
268tstfmon_n10y31 %^=*#5i 123.45 " +**123.45USC"
269tstfmon_n10y31 %^=*#5i -123.45 "-USC **123.45"
270#
271tstfmon_n11y41 %i 123.45 "+123.45 USC"
272tstfmon_n11y41 %i -123.45 "USC- 123.45"
273tstfmon_n11y41 %13i 123.45 " +123.45 USC"
274tstfmon_n11y41 %13i -123.45 " USC- 123.45"
275tstfmon_n11y41 %^=*#5i 123.45 " +**123.45 USC"
276tstfmon_n11y41 %^=*#5i -123.45 "USC- **123.45"
277#
278tstfmon_n12y11 %i 123.45 "+123.45USC"
279tstfmon_n12y11 %i -123.45 "-USC 123.45"
280tstfmon_n12y11 %13i 123.45 " +123.45USC"
281tstfmon_n12y11 %13i -123.45 " -USC 123.45"
282tstfmon_n12y11 %^=*#5i 123.45 " +**123.45USC"
283tstfmon_n12y11 %^=*#5i -123.45 "-USC **123.45"
284#
285tstfmon_n20n32 %i 123.45 "123.45USC+"
286tstfmon_n20n32 %i -123.45 "123.45- USC"
287tstfmon_n20n32 %13i 123.45 " 123.45USC+"
288tstfmon_n20n32 %13i -123.45 " 123.45- USC"
289tstfmon_n20n32 %^=*#5i 123.45 "**123.45USC+"
290tstfmon_n20n32 %^=*#5i -123.45 "**123.45- USC"
291#
292tstfmon_n30y20 %i 123.45 "123.45+USC"
293tstfmon_n30y20 %i -123.45 "USC123.45-"
294tstfmon_n30y20 %13i 123.45 " 123.45+USC"
295tstfmon_n30y20 %13i -123.45 " USC123.45-"
296tstfmon_n30y20 %^=*#5i 123.45 " **123.45+USC"
297tstfmon_n30y20 %^=*#5i -123.45 "USC**123.45-"
298#
299tstfmon_n41n00 %i 123.45 "123.45 USC+"
300tstfmon_n41n00 %i -123.45 "(123.45USC)"
301tstfmon_n41n00 %13i 123.45 " 123.45 USC+"
302tstfmon_n41n00 %13i -123.45 " (123.45USC)"
303tstfmon_n41n00 %^=*#5i 123.45 " **123.45 USC+"
304tstfmon_n41n00 %^=*#5i -123.45 "(**123.45USC)"
305#
306tstfmon_y01y10 %i 123.45 "USC 123.45"
307tstfmon_y01y10 %i -123.45 "-USC123.45"
308tstfmon_y01y10 %13i 123.45 " USC 123.45"
309tstfmon_y01y10 %13i -123.45 " -USC123.45"
310tstfmon_y01y10 %^=*#5i 123.45 "USC **123.45"
311tstfmon_y01y10 %^=*#5i -123.45 "-USC**123.45"
312#
313tstfmon_y02n22 %i 123.45 "USC123.45"
314tstfmon_y02n22 %i -123.45 "123.45USC O/D"
315tstfmon_y02n22 %12i 123.45 " USC123.45"
316tstfmon_y02n22 %12i -123.45 "123.45USC O/D"
317tstfmon_y02n22 %^=*#5i 123.45 "USC**123.45"
318tstfmon_y02n22 %^=*#5i -123.45 " **123.45USC O/D"
319#
320tstfmon_y22n42 %i 123.45 "USC123.45+"
321tstfmon_y22n42 %i -123.45 "123.45USC -"
322tstfmon_y22n42 %13i 123.45 " USC123.45+"
323tstfmon_y22n42 %13i -123.45 " 123.45USC -"
324tstfmon_y22n42 %^=*#5i 123.45 "USC**123.45+"
325tstfmon_y22n42 %^=*#5i -123.45 " **123.45USC -"
326#
327tstfmon_y30y21 %i 123.45 "+USC123.45"
328tstfmon_y30y21 %i -123.45 "USC 123.45-"
329tstfmon_y30y21 %13i 123.45 " +USC123.45"
330tstfmon_y30y21 %13i -123.45 " USC 123.45-"
331tstfmon_y30y21 %^=*#5i 123.45 "+USC**123.45"
332tstfmon_y30y21 %^=*#5i -123.45 "USC **123.45-"
333#
334tstfmon_y32n31 %i 123.45 "+ USC123.45"
335tstfmon_y32n31 %i -123.45 "123.45 -USC"
336tstfmon_y32n31 %13i 123.45 " + USC123.45"
337tstfmon_y32n31 %13i -123.45 " 123.45 -USC"
338tstfmon_y32n31 %^=*#5i 123.45 "+ USC**123.45"
339tstfmon_y32n31 %^=*#5i -123.45 " **123.45 -USC"
340#
341tstfmon_y40y00 %i 123.45 "USC+123.45"
342tstfmon_y40y00 %i -123.45 "(USC123.45)"
343tstfmon_y40y00 %13i 123.45 " USC+123.45"
344tstfmon_y40y00 %13i -123.45 " (USC123.45)"
345tstfmon_y40y00 %^=*#5i 123.45 "USC+**123.45"
346tstfmon_y40y00 %^=*#5i -123.45 "(USC**123.45)"
347#
348tstfmon_y42n21 %i 123.45 "USC +123.45"
349tstfmon_y42n21 %i -123.45 "123.45 USC-"
350tstfmon_y42n21 %13i 123.45 " USC +123.45"
351tstfmon_y42n21 %13i -123.45 " 123.45 USC-"
352tstfmon_y42n21 %^=*#5i 123.45 "USC +**123.45"
353tstfmon_y42n21 %^=*#5i -123.45 " **123.45 USC-"