21 |
(deftest format.&.5 |
(deftest format.&.5 |
22 |
(loop for i from 1 to 100 |
(loop for i from 1 to 100 |
23 |
for s1 = (make-string (1- i) :initial-element #\Newline) |
for s1 = (make-string (1- i) :initial-element #\Newline) |
24 |
for s2 = (format nil (format nil "~~~D&" i)) |
for format-string = (format nil "~~~D&" i) |
25 |
|
for s2 = (format nil format-string) |
26 |
|
unless (string= s1 s2) |
27 |
|
collect i) |
28 |
|
nil) |
29 |
|
|
30 |
|
(deftest formatter.&.5 |
31 |
|
(loop for i from 1 to 100 |
32 |
|
for s1 = (make-string (1- i) :initial-element #\Newline) |
33 |
|
for format-string = (format nil "~~~D&" i) |
34 |
|
for fn = (eval `(formatter ,format-string)) |
35 |
|
for s2 = (formatter-call-to-string fn) |
36 |
unless (string= s1 s2) |
unless (string= s1 s2) |
37 |
collect i) |
collect i) |
38 |
nil) |
nil) |
42 |
for s1 = (concatenate 'string |
for s1 = (concatenate 'string |
43 |
"X" |
"X" |
44 |
(make-string i :initial-element #\Newline)) |
(make-string i :initial-element #\Newline)) |
45 |
for s2 = (format nil (format nil "X~~~D&" i)) |
for format-string = (format nil "X~~~D&" i) |
46 |
|
for s2 = (format nil format-string) |
47 |
|
unless (string= s1 s2) |
48 |
|
collect i) |
49 |
|
nil) |
50 |
|
|
51 |
|
(deftest formatter.&.6 |
52 |
|
(loop for i from 1 to 100 |
53 |
|
for s1 = (concatenate 'string |
54 |
|
"X" |
55 |
|
(make-string i :initial-element #\Newline)) |
56 |
|
for format-string = (format nil "X~~~D&" i) |
57 |
|
for fn = (eval `(formatter ,format-string)) |
58 |
|
for s2 = (formatter-call-to-string fn) |
59 |
unless (string= s1 s2) |
unless (string= s1 s2) |
60 |
collect i) |
collect i) |
61 |
nil) |
nil) |
74 |
collect i) |
collect i) |
75 |
nil) |
nil) |
76 |
|
|
77 |
|
(deftest formatter.&.9 |
78 |
|
(let ((fn (formatter "~V&"))) |
79 |
|
(loop for i from 1 to 100 |
80 |
|
for s1 = (make-string (1- i) :initial-element #\Newline) |
81 |
|
for s2 = (formatter-call-to-string fn i) |
82 |
|
unless (string= s1 s2) |
83 |
|
collect i)) |
84 |
|
nil) |
85 |
|
|
86 |
(deftest format.&.10 |
(deftest format.&.10 |
87 |
(loop for i from 1 to (min (- call-arguments-limit 3) 100) |
(loop for i from 1 to (min (- call-arguments-limit 3) 100) |
88 |
for s1 = (make-string (1- i) :initial-element #\Newline) |
for s1 = (make-string (1- i) :initial-element #\Newline) |
92 |
collect i) |
collect i) |
93 |
nil) |
nil) |
94 |
|
|
95 |
|
(deftest formatter.&.10 |
96 |
|
(let ((fn (formatter "~#&"))) |
97 |
|
(loop for i from 1 to (min (- call-arguments-limit 3) 100) |
98 |
|
for s1 = (make-string (1- i) :initial-element #\Newline) |
99 |
|
for args = (loop for j below i collect j) |
100 |
|
for s2 = (with-output-to-string |
101 |
|
(stream) |
102 |
|
(assert (equal (apply fn stream args) args))) |
103 |
|
unless (string= s1 s2) |
104 |
|
collect i)) |
105 |
|
nil) |
106 |
|
|
107 |
(def-format-test format.&.11 |
(def-format-test format.&.11 |
108 |
"X~V%" (0) "X") |
"X~V%" (0) "X") |
109 |
|
|
114 |
"X~#%" ('a 'b 'c) #.(let ((nl (string #\Newline))) |
"X~#%" ('a 'b 'c) #.(let ((nl (string #\Newline))) |
115 |
(concatenate 'string "X" nl nl nl)) |
(concatenate 'string "X" nl nl nl)) |
116 |
3) |
3) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|