/[gcl]/gcl/ansi-tests/parse-integer.lsp
ViewVC logotype

Diff of /gcl/ansi-tests/parse-integer.lsp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.4 by pfdietz, Mon Sep 8 01:26:01 2003 UTC revision 1.5 by pfdietz, Mon Sep 8 11:04:33 2003 UTC
# Line 17  Line 17 
17    (classify-error (parse-integer "123" :bogus 'foo))    (classify-error (parse-integer "123" :bogus 'foo))
18    program-error)    program-error)
19    
20    (deftest parse-integer.error.4
21      (classify-error (parse-integer ""))
22      parse-error)
23    
24    (deftest parse-integer.error.5
25      (loop for x across +standard-chars+
26            unless (or (digit-char-p x)
27                       (eq (eval `(classify-error (parse-integer ,(string c))))
28                           'parse-error))
29            collect x)
30      nil)
31    
32    (deftest parse-integer.error.5
33      (classify-error (parse-integer ""))
34      parse-error)
35    
36    (deftest parse-integer.error.6
37      (classify-error (parse-integer "1234a"))
38      parse-error)
39    
40    (deftest parse-integer.error.7
41      (classify-error (parse-integer "-"))
42      parse-error)
43    
44    (deftest parse-integer.error.8
45      (classify-error (parse-integer "+"))
46      parse-error)
47    
48    (deftest parse-integer.error.9
49      (classify-error (parse-integer "--10"))
50      parse-error)
51    
52    (deftest parse-integer.error.10
53      (classify-error (parse-integer "++10"))
54      parse-error)
55    
56    (deftest parse-integer.error.11
57      (classify-error (parse-integer "10."))
58      parse-error)
59    
60    (deftest parse-integer.error.12
61      (classify-error (parse-integer "#O123"))
62      parse-error)
63    
64    (deftest parse-integer.error.13
65      (classify-error (parse-integer "#B0100"))
66      parse-error)
67    
68    (deftest parse-integer.error.14
69      (classify-error (parse-integer "#X0100"))
70      parse-error)
71    
72    (deftest parse-integer.error.15
73      (classify-error (parse-integer "#3R0100"))
74      parse-error)
75    
76  ;;;  ;;;
77    
78  (deftest parse-integer.1  (deftest parse-integer.1
# Line 91  Line 147 
147  (deftest parse-integer.15  (deftest parse-integer.15
148    (parse-integer "1021" :radix 3)    (parse-integer "1021" :radix 3)
149    34 4)    34 4)
150    
151    (deftest parse-integer.16
152      (loop for radix from 2 to 36
153            for c across "123456789abcdefghijklmnopqrstuvwxyz"
154            for s = (concatenate 'string (string c) "0")
155            for vals = (multiple-value-list (parse-integer s :radix radix))
156            for (val pos) = vals
157            always (and (= (length vals) 2)
158                        (= pos 2)
159                        (= val (* radix (1- radix)))))
160      t)
161    
162    (deftest parse-integer.17
163      (parse-integer "10A" :junk-allowed t)
164      10 2)
165    
166    (deftest parse-integer.18
167      (parse-integer "10" :junk-allowed t)
168      10 2)
169    
170    (deftest parse-integer.19
171      (parse-integer "ABCDE" :junk-allowed t)
172      nil 0)
173    
174    (deftest parse-integer.20
175      (parse-integer "" :junk-allowed t)
176      nil 0)
177    
178    (deftest parse-integer.21
179      :notes (:nil-vectors-are-strings)
180      (parse-integer (make-array 0 :element-type nil) :junk-allowed t)
181      nil 0)
182    
183    (deftest parse-integer.22
184      (parse-integer "a1234b" :start 2 :end 4)
185      23 4)
186    
187    (deftest parse-integer.23
188      (parse-integer "a1234b" :start 2 :end 4 :end nil)
189      23 4)
190    
191    (deftest parse-integer.24
192      (parse-integer "a1234b" :start 2 :end 4 :start 1)
193      23 4)
194    
195    
196    (deftest parse-integer.25
197      (parse-integer "a1234b" :start 2 :end 4 :allow-other-keys nil)
198      23 4)
199    
200    (deftest parse-integer.26
201      (parse-integer "a1234b" :start 2 :end 4 :allow-other-keys t :foo nil)
202      23 4)
203    
204    (deftest parse-integer.27
205      (parse-integer "a1234b" :start 2 :end 4 :allow-other-keys t
206                     :allow-other-keys nil :foo nil)
207      23 4)
208    
209    (deftest parse-integer.28
210      (let* ((s (make-array 5 :initial-contents "a123b" :element-type 'base-char))
211             (s2 (make-array 3 :displaced-to s :displaced-index-offset 1
212                             :element-type 'base-char)))
213        (values
214         s2
215         (length s2)
216         (equalpt "123" s2)
217         (multiple-value-list (parse-integer s2))))
218      "123" 3 t (123 3))
219    
220    (deftest parse-integer.29
221      (let ((s (make-array 10 :initial-contents "1234567890"
222                           :fill-pointer 3
223                           :element-type 'base-char)))
224        (values
225         (length s)
226         (multiple-value-list (parse-integer s))))
227      3 (123 3))
228    
229    (deftest parse-integer.30
230      (let ((s (make-array 10 :initial-contents "1234567890"
231                           :adjustable t
232                           :element-type 'base-char)))
233        (values
234         (length s)
235         (multiple-value-list (parse-integer s))
236         (progn
237           (adjust-array s 3 :element-type 'base-char)
238           (multiple-value-list (parse-integer s)))))
239      10
240      (1234567890 10)
241      (123 3))
242    
243            
244    
245    
246    
247    
248    
249            

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.5

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26