]>
Commit | Line | Data |
---|---|---|
f3c0d7a5 A |
1 | // Copyright (C) 2016 and later: Unicode, Inc. and others. |
2 | // License & terms of use: http://www.unicode.org/copyright.html | |
374ca955 A |
3 | //***************************************************************************** |
4 | // | |
73c04bcf | 5 | // Copyright (C) 2004-2006, International Business Machines |
374ca955 A |
6 | // Corporation and others. All Rights Reserved. |
7 | // | |
8 | // file name: icuio.txt | |
9 | // encoding: US-ASCII | |
10 | // tab size: 4 (not used) | |
11 | // indentation:4 | |
12 | // | |
13 | // created on: 2004Apr06 | |
14 | // created by: George Rhoten | |
15 | // | |
16 | // ICU resource bundle source file with test data for data-driven ICU I/O tests. | |
17 | // | |
18 | //***************************************************************************** | |
19 | ||
73c04bcf | 20 | icuio:table(nofallback) { |
374ca955 A |
21 | Info { |
22 | Description { "Test data for ICU I/O" } | |
23 | LongDescription { | |
24 | "Test data for data-driven conversion tests in icu/source/test/iotest/iotest.cpp\n" | |
25 | "Run iotest printf\n" | |
26 | ||
27 | "argumentType:\n" | |
28 | "\td: double\n" | |
73c04bcf | 29 | "\tf: float\n" |
374ca955 A |
30 | "\t1: int8_t (hexadecimal)\n" |
31 | "\t2: int16_t (hexadecimal)\n" | |
32 | "\t4: int32_t (hexadecimal)\n" | |
33 | "\t8: int64_t (hexadecimal)\n" | |
34 | "\ts: char * string\n" | |
35 | "\tS: UChar * string\n" | |
36 | } | |
37 | } | |
38 | TestData { | |
39 | printf { | |
40 | Headers { "format", "result", "argumentType", "argument" } | |
41 | Cases { | |
73c04bcf A |
42 | { "%5.3S", " abc", "S", "abcde" } |
43 | { "%-5.3S", "abc ", "S", "abcde" } | |
44 | { "%5.3S", " abc", "S", "abcdef" } | |
45 | { "%-5.3S", "abc ", "S", "abcdef" } | |
46 | { "%5.3S", " a", "S", "a" } | |
47 | { "%-5.3S", "a ", "S", "a" } | |
48 | { "%5.3s", " abc", "s", "abcde" } | |
49 | { "%-5.3s", "abc ", "s", "abcde" } | |
50 | { "%5.3s", " abc", "s", "abcdef" } | |
51 | { "%-5.3s", "abc ", "s", "abcdef" } | |
52 | { "%5.3s", " a", "s", "a" } | |
53 | { "%-5.3s", "a ", "s", "a" } | |
54 | { "%5.3C", " a", "2", "61" } | |
55 | { "%-5.3C", "a ", "2", "61" } | |
56 | { "%-5.0C", "a ", "2", "61" } // Make sure that the precision is ignored. | |
57 | { "%.3P", "120.000%", "d", "1.2" } | |
58 | { "%.0P", "120%", "d", "1.2" } | |
59 | { "%.3P", "1.200%", "d", "0.012" } | |
60 | { "%.0P", "1%", "d", "0.012" } | |
61 | { "%04.0P", "001%", "d", "0.012" } | |
62 | { "%+4.0P", " +1%", "d", "0.012" } | |
374ca955 A |
63 | { "%e", "1.200000e+000", "d", "1.2" } |
64 | { "%e", "1.234568e+006", "d", "1234567.89" } | |
65 | { "%E", "1.234568E+006", "d", "1234567.89" } | |
66 | { "%10e", "1.234568e+000", "d", "1.23456789" } | |
67 | { "%10.4e", "1.2346e+000", "d", "1.23456789" } | |
68 | { "%-10e", "1.234568e+000", "d", "1.23456789" } | |
69 | { "%10e", "1.234568e+002", "d", "123.456789" } | |
70 | { "%-10e", "1.234568e+002", "d", "123.456789" } | |
71 | { "%-+12.1e", "+1.2e+000 ", "d", "1.234" } | |
72 | { "%-+12.1e", "-1.2e+000 ", "d", "-1.234" } | |
73 | { "%- 12.10e", " 1.2340000000e+000", "d", "1.234" } | |
74 | { "%- 12.1e", "-1.2e+000 ", "d", "-1.234" } | |
75 | { "%+12.1e", " +1.2e+000", "d", "1.234" } | |
76 | { "%+12.1e", " -1.2e+000", "d", "-1.234" } | |
77 | { "% 12.1e", " 1.2e+000", "d", "1.234" } | |
78 | { "% 12.1e", " -1.2e+000", "d", "-1.234" } | |
79 | { "%12.1e", " 1.2e+000", "d", "1.234" } | |
80 | { "%12.1e", " -1.2e+000", "d", "-1.234" } | |
81 | { "%.2e", "1.23e+000", "d", "1.234" } | |
82 | { "%.2e", "-1.23e+000", "d", "-1.234" } | |
83 | { "%3e", "1.234000e+000", "d", "1.234" } | |
84 | { "%3e", "-1.234000e+000", "d", "-1.234" } | |
85 | { "%g", "12345.7", "d", "12345.6789" } | |
86 | { "%g", "123457", "d", "123456.789" } | |
87 | { "%g", "1.23457e+006", "d", "1234567.89" } | |
88 | { "%G", "12345.7", "d", "12345.6789" } | |
89 | { "%G", "123457", "d", "123456.789" } | |
90 | { "%G", "1.23457E+006", "d", "1234567.89" } | |
73c04bcf | 91 | { "%.14G", "1.7E+064", "d", "1.7E+64" } |
374ca955 A |
92 | { "%.0f", "-12", "d", "-12.34" } |
93 | { "%.0e", "-1e+001", "d", "-12.34" } | |
94 | { "%.0g", "-1e+001", "d", "-12.34" } | |
95 | { "%hd", "-30002", "2", "8ace" } | |
73c04bcf | 96 | { "%hu", "35534", "2", "8ace" } |
374ca955 A |
97 | { "%ho", "105316", "2", "8ace" } |
98 | { "%hx", "8ace", "2", "8ace" } | |
99 | { "%lx", "8ace1234", "4", "8ace1234" } | |
100 | { "%llx", "123456789abcdef0", "8", "123456789abcdef0" } | |
101 | { "%lu", "2328760884", "4", "8ace1234" } | |
102 | // %llu doesn't work yet. | |
103 | { "%ld", "-1966206412", "4", "8ace1234" } | |
104 | { "%lld", "1311768467463790320", "8", "123456789abcdef0" } | |
105 | { "%+u", "2328760884", "4", "8ace1234" } // Ignore the + sign argument | |
106 | } | |
107 | } | |
108 | printfPrecision { | |
109 | Headers { "format", "result", "argumentType", "argument", "precision" } | |
110 | Cases { | |
111 | { "%+1.*e", "+1.2346e+000", "d", "1.2345678", :int{4} } | |
112 | { "%+2.*e", "+1.234568e+000", "d", "1.2345678", :int{6} } | |
113 | { "%*d", "12345678", "4", "BC614E", :int{7} } | |
114 | { "%*d", "12345678", "4", "BC614E", :int{8} } | |
115 | { "%*d", " 12345678", "4", "BC614E", :int{9} } | |
73c04bcf A |
116 | { "%*d", "12345678 ", "4", "BC614E", :int{-9} } |
117 | { "%*d", "1", "4", "1", :int{-1} } | |
118 | { "%*d", "1 ", "4", "1", :int{-2} } | |
374ca955 A |
119 | } |
120 | } | |
121 | scanf { | |
122 | Headers { "format", "argument", "argumentType", "result" } | |
123 | Cases { | |
73c04bcf A |
124 | { "%e", "1.200000e+000", "f", "1.2" } |
125 | { "%*e%e", "1.200000e+000 4.825000e+000", "f", "4.825" } | |
374ca955 A |
126 | { "%C", "1234", "2", "31" } |
127 | { "%*C%C", "1234", "2", "32" } | |
128 | { "%S", "1234 5678", "S", "1234" } | |
129 | { "%*S%S", "1234 5678", "S", "5678" } | |
130 | { "%hd", "1234 5678", "2", "4D2" } | |
131 | { "%*hd%hd", "1234 5678", "2", "162E" } | |
132 | { "%d", "1234 5678", "4", "4D2" } | |
133 | { "%ld", "1234 5678", "4", "4D2" } | |
134 | { "%lld", "1311768467463790320", "8", "123456789abcdef0" } | |
135 | { "%3d", "1234 5678", "4", "7B" } | |
136 | { "%4d", "123", "4", "7B" } | |
73c04bcf | 137 | { "%2d", "123", "4", "C" } |
374ca955 | 138 | { "%40d", "123", "4", "7B" } |
73c04bcf A |
139 | { "%2e", "1.25", "f", "1" } |
140 | { "%2f", "1.25", "f", "1" } | |
141 | { "%2g", "1.25", "f", "1" } | |
142 | { "%2le", "1.25", "d", "1" } | |
143 | { "%2lf", "1.25", "d", "1" } | |
144 | { "%2lg", "1.25", "d", "1" } | |
145 | { "%*2e%2e", "1.25", "f", "25" } | |
146 | { "%*2f%2f", "1.25", "f", "25" } | |
147 | { "%*2g%2g", "1.25", "f", "25" } | |
374ca955 A |
148 | { "%*d%d", "1234 5678", "4", "162E" } |
149 | { "%x", "abcd ef01", "4", "abcd" } | |
150 | { "%3x", "abcd ef01", "4", "abc" } | |
151 | { "%*hx%hx", "abcd ef01", "2", "ef01" } | |
152 | { "%ho", "1046539", "2", "89AB" } // Extra 9 on the end | |
153 | { "%3ho", "7700", "2", "1F8" } // Don't read the 0 at the end | |
154 | { "%llo", "1777777777777777777777", "8", "FFFFFFFFFFFFFFFF" } | |
155 | { "%lx", "abcdef01", "4", "abcdef01" } | |
156 | { "%x", "0x7abcdef0", "4", "7abcdef0" } | |
157 | { "%llx", "123456789abcdef0", "8", "123456789abcdef0" } | |
158 | { "%S", "a\U00010000b", "S", "a\U00010000b" } | |
159 | { "%[abce]", "abcd ef01", "S", "abc" } | |
160 | { "%*[abce]%[de\\ ]", "abcd ef01", "S", "d e" } | |
161 | { "%[a\U00010000]", "a\U00010000\U00010001b", "S", "a\U00010000" } | |
162 | { "%[a-f]", "abccdefg", "S", "abccdef" } | |
163 | { "%[a-c]", "abccdefg", "S", "abcc" } | |
164 | { "%[^e-f]", "abccdefg", "S", "abccd" } | |
165 | { "%3[^e-f]", "abccdefg", "S", "abc" } | |
166 | { "%*3[abc]%[cde]", "abccdefg", "S", "cde" } | |
167 | { "%*3S%S", "a bc efg", "S", "bc" } | |
168 | { "%*3S%S", "abcd efg", "S", "d" } | |
169 | { "%*3s%s", "abcd efg", "s", "d" } | |
170 | { "%*3d%d", "1234", "4", "4" } | |
73c04bcf A |
171 | { "%d", " 1234", "4", "4D2" } |
172 | { "%e", " 1234", "f", "1234" } | |
173 | { "%f", " 1234", "f", "1234" } | |
174 | { "%d", "+1234", "4", "4D2" } | |
175 | { "%e", "+1234", "f", "1234" } | |
176 | { "%f", "+1234", "f", "1234" } | |
374ca955 A |
177 | } |
178 | } | |
179 | } | |
180 | } |