42 |
collect (list i s)) |
collect (list i s)) |
43 |
nil) |
nil) |
44 |
|
|
45 |
|
(deftest formatter.{.8 |
46 |
|
(let ((fn (formatter "~V{~A~}"))) |
47 |
|
(loop for i from 0 to 10 |
48 |
|
for s = (formatter-call-to-string fn i '(1 2 3 4 5 6 7 8 9 0)) |
49 |
|
unless (string= s (subseq "1234567890" 0 i)) |
50 |
|
collect (list i s))) |
51 |
|
nil) |
52 |
|
|
53 |
(def-format-test format.{.9 |
(def-format-test format.{.9 |
54 |
"~#{~A~}" ('(1 2 3 4 5 6 7) nil nil nil) "1234" 3) |
"~#{~A~}" ('(1 2 3 4 5 6 7) nil nil nil) "1234" 3) |
55 |
|
|
158 |
("" "1" "12" "123" "1234" "12345" |
("" "1" "12" "123" "1234" "12345" |
159 |
"123456" "123456" "123456" "123456" "123456")) |
"123456" "123456" "123456" "123456" "123456")) |
160 |
|
|
161 |
|
(deftest formatter.\:{.11 |
162 |
|
(let ((fn (formatter "~v:{~A~}"))) |
163 |
|
(loop for i from 0 to 10 collect |
164 |
|
(formatter-call-to-string fn i '((1) (2) (3 X) (4 Y Z) (5) (6))))) |
165 |
|
("" "1" "12" "123" "1234" "12345" |
166 |
|
"123456" "123456" "123456" "123456" "123456")) |
167 |
|
|
168 |
(def-format-test format.\:{.12 |
(def-format-test format.\:{.12 |
169 |
"~V:{X~}" (nil '((1) (2) (3) nil (5))) "XXXXX") |
"~V:{X~}" (nil '((1) (2) (3) nil (5))) "XXXXX") |
170 |
|
|
180 |
("" "1" "12" "123" "1234" "1234" |
("" "1" "12" "123" "1234" "1234" |
181 |
"1234" "1234" "1234" "1234" "1234")) |
"1234" "1234" "1234" "1234" "1234")) |
182 |
|
|
183 |
|
(deftest formatter.\:{.15 |
184 |
|
(let ((fn (formatter "~v:{~A~:}"))) |
185 |
|
(loop for i from 0 to 10 collect |
186 |
|
(formatter-call-to-string fn i '((1 X) (2 Y) (3) (4 A B))))) |
187 |
|
("" "1" "12" "123" "1234" "1234" |
188 |
|
"1234" "1234" "1234" "1234" "1234")) |
189 |
|
|
190 |
(def-format-test format.\:{.16 |
(def-format-test format.\:{.16 |
191 |
"~:{ABC~:}" ('(nil)) "ABC") |
"~:{ABC~:}" ('(nil)) "ABC") |
192 |
|
|
234 |
("" "1" "12" "123" "1234" "12345" |
("" "1" "12" "123" "1234" "12345" |
235 |
"123456" "1234567" "12345678" "123456789" "12345678910")) |
"123456" "1234567" "12345678" "123456789" "12345678910")) |
236 |
|
|
237 |
|
(deftest formatter.@{.10 |
238 |
|
(let ((fn (formatter "~v@{~A~}"))) |
239 |
|
(loop for i from 0 to 10 |
240 |
|
for x = nil then (cons i x) |
241 |
|
for rest = (list 'a 'b 'c) |
242 |
|
collect |
243 |
|
(with-output-to-string |
244 |
|
(s) |
245 |
|
(assert (equal (apply fn s i (append (reverse x) rest)) rest))))) |
246 |
|
("" "1" "12" "123" "1234" "12345" |
247 |
|
"123456" "1234567" "12345678" "123456789" "12345678910")) |
248 |
|
|
249 |
(def-format-test format.@{.11 |
(def-format-test format.@{.11 |
250 |
"~@{X~:}" nil "X") |
"~@{X~:}" nil "X") |
251 |
|
|
293 |
("" "1" "12" "123" "1234" "12345" "123456" "1234567" "12345678" |
("" "1" "12" "123" "1234" "12345" "123456" "1234567" "12345678" |
294 |
"123456789" "12345678910")) |
"123456789" "12345678910")) |
295 |
|
|
296 |
|
(deftest formatter.\:@.10 |
297 |
|
(let ((fn (formatter "~V@:{~A~}"))) |
298 |
|
(loop for i from 0 to 10 |
299 |
|
for x = nil then (cons (list i) x) |
300 |
|
for rest = (list 'a 'b) |
301 |
|
collect |
302 |
|
(with-output-to-string |
303 |
|
(s) |
304 |
|
(assert (equal (apply fn s i (append (reverse x) rest)) rest))))) |
305 |
|
("" "1" "12" "123" "1234" "12345" "123456" "1234567" "12345678" |
306 |
|
"123456789" "12345678910")) |
307 |
|
|
308 |
;;; Error tests |
;;; Error tests |
309 |
|
|