Skip to content

Commit 3a828d2

Browse files
committed
fbc-tests: add ENABLE_CHECK_BUGS to tests/string/format.bas
- when running the test suite, we want to have the test suite either fully pass or fully fail - some tests are known to fail due to known bugs - by using ENABLE_CHECK_BUGS we can optionally enable the tests that are known to fail - otherwise we can get a successful build even though there are known bugs
1 parent 290463f commit 3a828d2

File tree

1 file changed

+155
-141
lines changed

1 file changed

+155
-141
lines changed

tests/string/format.bas

Lines changed: 155 additions & 141 deletions
Original file line numberDiff line numberDiff line change
@@ -1,147 +1,158 @@
11
#include "fbcunit.bi"
22
# include "vbcompat.bi"
33

4+
'' tests marked with "BUG" might be bugged on some platforms
5+
#if ENABLE_CHECK_BUGS
6+
#define BUG 1
7+
#else
8+
#if defined(__FB_WIN32__) and defined(__FB_64BIT__)
9+
#define BUG 0
10+
#else
11+
#define BUG 1
12+
#endif
13+
#endif
14+
415
tests_num:
5-
data 0.1236, "", ".1236"
16+
data 1, 0.1236, "", ".1236"
617
' The following example now works because FORMAT now restricts the precision
718
' to 11 when no format specifier was given.
8-
data 4578.1236, "", "4578.1236"
9-
data 4578.125, "", "4578.125"
10-
data 1234.0, "", "1234"
11-
12-
data 0.1236, "##0.00%", "12.36%"
13-
data 123, !"\"asd\\\"", !"asd\\"
14-
data 0, "###", "0"
15-
data 123, "###", "123"
16-
data 123, "###00000", "00123"
17-
data 123, "00000###", "00000123"
18-
data 123.5, "0", "123"
19-
data 123.51, "0", "124"
20-
data 123.6, "0", "124"
21-
data 1.23, "###.###", "1.23"
22-
data 0.123, "###.###", ".123"
23-
data 0.1234, "###.###", ".123"
24-
data 0.1235, "###.###", ".123"
25-
data 0.12351, "###.###", ".124"
26-
data 0.1236, "###.###", ".124"
27-
data 123, "###.###", "123."
28-
data 123, "#", "123"
29-
data 123, "#.##e-000", "1.23e002"
30-
data 123, "#.##e+000", "1.23e+002"
31-
data 0.123, "#.##e-000", "1.23e-001"
32-
data 0.1234, "#.##e-000", "1.23e-001"
33-
data 0.1235, "#.##e-000", "1.23e-001"
34-
data 0.12351, "#.##e-000", "1.24e-001"
35-
data 0.1236, "#.##e-000", "1.24e-001"
36-
data 0.000000000125, "#.##e-0", "1.25e-10"
37-
data 0.999999, "#.00e+000", "1.00e+000"
38-
data 9.9e+20, "#", "990000000000000000000"
39-
data 4.9e-324, "#.#e+#", "4.9e-324"
40-
data 9.9e-100, "###################e+#", "9900000000000000000e-118"
41-
42-
data -0.1236, "##0.00%", "-12.36%"
43-
data -123, !"\"asd\\\"", !"asd\\"
44-
data -0, "###", "0"
45-
data -123, "###", "-123"
46-
data -123, "###00000", "-00123"
47-
data -123, "00000###", "-00000123"
48-
data -123.5, "0", "-123"
49-
data -123.51, "0", "-124"
50-
data -123.6, "0", "-124"
51-
data -1.23, "###.###", "-1.23"
52-
data -0.123, "###.###", "-.123"
53-
data -0.1234, "###.###", "-.123"
54-
data -0.1235, "###.###", "-.123"
55-
data -0.12351, "###.###", "-.124"
56-
data -0.1236, "###.###", "-.124"
57-
data -123, "###.###", "-123."
58-
data -123, "#", "-123"
59-
data -123, "#.##e-000", "-1.23e002"
60-
data -123, "#.##e+000", "-1.23e+002"
61-
data -0.123, "#.##e-000", "-1.23e-001"
62-
data -0.1234, "#.##e-000", "-1.23e-001"
63-
data -0.1235, "#.##e-000", "-1.23e-001"
64-
data -0.12351, "#.##e-000", "-1.24e-001"
65-
data -0.1236, "#.##e-000", "-1.24e-001"
66-
data -0.000000000125, "#.##e-0", "-1.25e-10"
67-
data -0.999999, "#.00e+000", "-1.00e+000"
68-
data -9.9e+20, "#", "-990000000000000000000"
69-
data -4.9e-324, "#.#e+#", "-4.9e-324"
70-
data -9.9e-100, "###################e+#", "-9900000000000000000e-118"
71-
72-
data -0.1236, "##0.00%-", "12.36%-"
73-
data -123, !"\"asd\\\"", !"asd\\"
74-
data -0, "###-", "0"
75-
data -123, "###-", "123-"
76-
data -123, "###00000-", "00123-"
77-
data -123, "00000###-", "00000123-"
78-
data -123.5, "0-", "123-"
79-
data -123.51, "0-", "124-"
80-
data -123.6, "0-", "124-"
81-
data -1.23, "###.###-", "1.23-"
82-
data -0.123, "###.###-", ".123-"
83-
data -0.1234, "###.###-", ".123-"
84-
data -0.1235, "###.###-", ".123-"
85-
data -0.12351, "###.###-", ".124-"
86-
data -0.1236, "###.###-", ".124-"
87-
data -123, "###.###-", "123.-"
88-
data -123, "#-", "123-"
89-
data -123, "#.##e-000-", "1.23e002-"
90-
data -123, "#.##e+000-", "1.23e+002-"
91-
data -0.123, "#.##e-000-", "1.23e-001-"
92-
data -0.1234, "#.##e-000-", "1.23e-001-"
93-
data -0.1235, "#.##e-000-", "1.23e-001-"
94-
data -0.12351, "#.##e-000-", "1.24e-001-"
95-
data -0.1236, "#.##e-000-", "1.24e-001-"
96-
data -0.000000000125, "#.##e-0-", "1.25e-10-"
97-
data -0.999999, "#.00e+000-", "1.00e+000-"
98-
data -9.9e+20, "#-", "990000000000000000000-"
99-
data -4.9e-324, "#.#e+#-", "4.9e-324-"
100-
data -9.9e-100, "###################e+#-", "9900000000000000000e-118-"
101-
102-
data 0.1236, "##0.00%-", "12.36%"
103-
data 123, !"\"asd\\\"", !"asd\\"
104-
data 0, "###-", "0"
105-
data 123, "###-", "123"
106-
data 123, "###00000-", "00123"
107-
data 123, "00000###-", "00000123"
108-
data 123.5, "0-", "123"
109-
data 123.51, "0-", "124"
110-
data 123.6, "0-", "124"
111-
data 1.23, "###.###-", "1.23"
112-
data 0.123, "###.###-", ".123"
113-
data 0.1234, "###.###-", ".123"
114-
data 0.1235, "###.###-", ".123"
115-
data 0.12351, "###.###-", ".124"
116-
data 0.1236, "###.###-", ".124"
117-
data 123, "###.###-", "123."
118-
data 123, "#-", "123"
119-
data 123, "#.##e-000-", "1.23e002"
120-
data 123, "#.##e+000-", "1.23e+002"
121-
data 0.123, "#.##e-000-", "1.23e-001"
122-
data 0.1234, "#.##e-000-", "1.23e-001"
123-
data 0.1235, "#.##e-000-", "1.23e-001"
124-
data 0.12351, "#.##e-000-", "1.24e-001"
125-
data 0.1236, "#.##e-000-", "1.24e-001"
126-
data 0.000000000125, "#.##e-0-", "1.25e-10"
127-
data 0.999999, "#.00e+000-", "1.00e+000"
128-
data 9.9e+20, "#-", "990000000000000000000"
129-
data 4.9e-324, "#.#e+#-", "4.9e-324"
130-
data 9.9e-100, "###################e+#-", "9900000000000000000e-118"
131-
132-
data 1234, "###,0.00", "1,234.00"
133-
data 1234567, "#,#,#,0.00", "1,234,567.00"
134-
data 1234, "###,,0.00", "0.00"
135-
data 1234567, "###,,0.00", "1.23"
136-
data 1234567, "###0,,.00", "1.23"
137-
data 1234, "###0,.00", "1.23"
138-
data 1234, "#########,0.00", "1,234.00"
139-
data 123456, "#######,##0.00", "123,456.00"
140-
data 12345678, "#######,##0.00", "12,345,678.00"
141-
data 123, "#########,0.00", "123.00"
142-
data 100000, "#,##0.00", "100,000.00"
143-
144-
data "."
19+
data 1, 4578.1236, "", "4578.1236"
20+
data 1, 4578.125, "", "4578.125"
21+
data 1, 1234.0, "", "1234"
22+
23+
data 1, 0.1236, "##0.00%", "12.36%"
24+
data 1, 123, !"\"asd\\\"", !"asd\\"
25+
data 1, 0, "###", "0"
26+
data 1, 123, "###", "123"
27+
data 1, 123, "###00000", "00123"
28+
data 1, 123, "00000###", "00000123"
29+
data 1, 123.5, "0", "123"
30+
data 1, 123.51, "0", "124"
31+
data 1, 123.6, "0", "124"
32+
data 1, 1.23, "###.###", "1.23"
33+
data 1, 0.123, "###.###", ".123"
34+
data 1, 0.1234, "###.###", ".123"
35+
data 1, 0.1235, "###.###", ".123"
36+
data 1, 0.12351, "###.###", ".124"
37+
data 1, 0.1236, "###.###", ".124"
38+
data 1, 123, "###.###", "123."
39+
data 1, 123, "#", "123"
40+
data 1, 123, "#.##e-000", "1.23e002"
41+
data 1, 123, "#.##e+000", "1.23e+002"
42+
data 1, 0.123, "#.##e-000", "1.23e-001"
43+
data 1, 0.1234, "#.##e-000", "1.23e-001"
44+
data 1, 0.1235, "#.##e-000", "1.23e-001"
45+
data 1, 0.12351, "#.##e-000", "1.24e-001"
46+
data 1, 0.1236, "#.##e-000", "1.24e-001"
47+
data 1, 0.000000000125, "#.##e-0", "1.25e-10"
48+
data 1, 0.999999, "#.00e+000", "1.00e+000"
49+
data BUG, 9.9e+20, "#", "990000000000000000000"
50+
data 1, 4.9e-324, "#.#e+#", "4.9e-324"
51+
data BUG, 9.9e-100, "###################e+#", "9900000000000000000e-118"
52+
53+
data 1, -0.1236, "##0.00%", "-12.36%"
54+
data 1, -123, !"\"asd\\\"", !"asd\\"
55+
data 1, -0, "###", "0"
56+
data 1, -123, "###", "-123"
57+
data 1, -123, "###00000", "-00123"
58+
data 1, -123, "00000###", "-00000123"
59+
data 1, -123.5, "0", "-123"
60+
data 1, -123.51, "0", "-124"
61+
data 1, -123.6, "0", "-124"
62+
data 1, -1.23, "###.###", "-1.23"
63+
data 1, -0.123, "###.###", "-.123"
64+
data 1, -0.1234, "###.###", "-.123"
65+
data 1, -0.1235, "###.###", "-.123"
66+
data 1, -0.12351, "###.###", "-.124"
67+
data 1, -0.1236, "###.###", "-.124"
68+
data 1, -123, "###.###", "-123."
69+
data 1, -123, "#", "-123"
70+
data 1, -123, "#.##e-000", "-1.23e002"
71+
data 1, -123, "#.##e+000", "-1.23e+002"
72+
data 1, -0.123, "#.##e-000", "-1.23e-001"
73+
data 1, -0.1234, "#.##e-000", "-1.23e-001"
74+
data 1, -0.1235, "#.##e-000", "-1.23e-001"
75+
data 1, -0.12351, "#.##e-000", "-1.24e-001"
76+
data 1, -0.1236, "#.##e-000", "-1.24e-001"
77+
data 1, -0.000000000125, "#.##e-0", "-1.25e-10"
78+
data 1, -0.999999, "#.00e+000", "-1.00e+000"
79+
data BUG, -9.9e+20, "#", "-990000000000000000000"
80+
data 1, -4.9e-324, "#.#e+#", "-4.9e-324"
81+
data BUG, -9.9e-100, "###################e+#", "-9900000000000000000e-118"
82+
83+
data 1, -0.1236, "##0.00%-", "12.36%-"
84+
data 1, -123, !"\"asd\\\"", !"asd\\"
85+
data 1, -0, "###-", "0"
86+
data 1, -123, "###-", "123-"
87+
data 1, -123, "###00000-", "00123-"
88+
data 1, -123, "00000###-", "00000123-"
89+
data 1, -123.5, "0-", "123-"
90+
data 1, -123.51, "0-", "124-"
91+
data 1, -123.6, "0-", "124-"
92+
data 1, -1.23, "###.###-", "1.23-"
93+
data 1, -0.123, "###.###-", ".123-"
94+
data 1, -0.1234, "###.###-", ".123-"
95+
data 1, -0.1235, "###.###-", ".123-"
96+
data 1, -0.12351, "###.###-", ".124-"
97+
data 1, -0.1236, "###.###-", ".124-"
98+
data 1, -123, "###.###-", "123.-"
99+
data 1, -123, "#-", "123-"
100+
data 1, -123, "#.##e-000-", "1.23e002-"
101+
data 1, -123, "#.##e+000-", "1.23e+002-"
102+
data 1, -0.123, "#.##e-000-", "1.23e-001-"
103+
data 1, -0.1234, "#.##e-000-", "1.23e-001-"
104+
data 1, -0.1235, "#.##e-000-", "1.23e-001-"
105+
data 1, -0.12351, "#.##e-000-", "1.24e-001-"
106+
data 1, -0.1236, "#.##e-000-", "1.24e-001-"
107+
data 1, -0.000000000125, "#.##e-0-", "1.25e-10-"
108+
data 1, -0.999999, "#.00e+000-", "1.00e+000-"
109+
data BUG, -9.9e+20, "#-", "990000000000000000000-"
110+
data 1, -4.9e-324, "#.#e+#-", "4.9e-324-"
111+
data BUG, -9.9e-100, "###################e+#-", "9900000000000000000e-118-"
112+
113+
data 1, 0.1236, "##0.00%-", "12.36%"
114+
data 1, 123, !"\"asd\\\"", !"asd\\"
115+
data 1, 0, "###-", "0"
116+
data 1, 123, "###-", "123"
117+
data 1, 123, "###00000-", "00123"
118+
data 1, 123, "00000###-", "00000123"
119+
data 1, 123.5, "0-", "123"
120+
data 1, 123.51, "0-", "124"
121+
data 1, 123.6, "0-", "124"
122+
data 1, 1.23, "###.###-", "1.23"
123+
data 1, 0.123, "###.###-", ".123"
124+
data 1, 0.1234, "###.###-", ".123"
125+
data 1, 0.1235, "###.###-", ".123"
126+
data 1, 0.12351, "###.###-", ".124"
127+
data 1, 0.1236, "###.###-", ".124"
128+
data 1, 123, "###.###-", "123."
129+
data 1, 123, "#-", "123"
130+
data 1, 123, "#.##e-000-", "1.23e002"
131+
data 1, 123, "#.##e+000-", "1.23e+002"
132+
data 1, 0.123, "#.##e-000-", "1.23e-001"
133+
data 1, 0.1234, "#.##e-000-", "1.23e-001"
134+
data 1, 0.1235, "#.##e-000-", "1.23e-001"
135+
data 1, 0.12351, "#.##e-000-", "1.24e-001"
136+
data 1, 0.1236, "#.##e-000-", "1.24e-001"
137+
data 1, 0.000000000125, "#.##e-0-", "1.25e-10"
138+
data 1, 0.999999, "#.00e+000-", "1.00e+000"
139+
data BUG, 9.9e+20, "#-", "990000000000000000000"
140+
data 1, 4.9e-324, "#.#e+#-", "4.9e-324"
141+
data BUG, 9.9e-100, "###################e+#-", "9900000000000000000e-118"
142+
143+
data 1, 1234, "###,0.00", "1,234.00"
144+
data 1, 1234567, "#,#,#,0.00", "1,234,567.00"
145+
data 1, 1234, "###,,0.00", "0.00"
146+
data 1, 1234567, "###,,0.00", "1.23"
147+
data 1, 1234567, "###0,,.00", "1.23"
148+
data 1, 1234, "###0,.00", "1.23"
149+
data 1, 1234, "#########,0.00", "1,234.00"
150+
data 1, 123456, "#######,##0.00", "123,456.00"
151+
data 1, 12345678, "#######,##0.00", "12,345,678.00"
152+
data 1, 123, "#########,0.00", "123.00"
153+
data 1, 100000, "#,##0.00", "100,000.00"
154+
155+
data 1, "."
145156

146157
tests_dt:
147158
data "Jun 1, 2005", "yyyy-mm-dd", "2005-06-01"
@@ -170,17 +181,20 @@ SUITE( fbc_tests.string_.format_ )
170181
TEST( numberFormatTest )
171182
dim as string sValue, sMask, sWanted, sResult
172183
dim as double dblValue
184+
dim as integer bTest
173185

174186
restore tests_num
175-
read sValue
187+
read bTest, sValue
176188
while sValue<>"."
177189
dblValue = val(sValue)
178190
read sMask, sWanted
179191
' print sWanted,
180192
sResult = Format(dblValue, sMask)
181193
' print sResult
182-
CU_ASSERT_EQUAL( sWanted, sResult )
183-
read sValue
194+
if( bTest ) then
195+
CU_ASSERT_EQUAL( sWanted, sResult )
196+
end if
197+
read bTest, sValue
184198
wend
185199

186200
END_TEST

0 commit comments

Comments
 (0)