2
;;;; Author: Paul Dietz
3
;;;; Created: Sat Oct 5 12:32:20 2002
4
;;;; Contains: Tests for MAKE-STRING
9
(let ((s (make-string 10)))
11
#+:ansi-tests-strict-initial-element
12
(string-all-the-same s)
17
(deftest make-string.2
18
(let ((s (make-string 10 :initial-element #\a)))
24
(deftest make-string.3
25
(let ((s (make-string 10 :initial-element #\a
26
:element-type 'character)))
32
(deftest make-string.4
33
(let ((s (make-string 10 :initial-element #\a
34
:element-type 'standard-char)))
40
(deftest make-string.5
41
(let ((s (make-string 10 :initial-element #\a
42
:element-type 'base-char)))
48
(deftest make-string.6
52
(deftest make-string.7
53
(let ((s (make-string 10 :element-type 'character)))
56
#+:ansi-tests-strict-initial-element
57
(string-all-the-same s)
61
(deftest make-string.8
62
(let ((s (make-string 10 :element-type 'standard-char)))
65
#+:ansi-tests-strict-initial-element
66
(string-all-the-same s)
70
(deftest make-string.9
71
(let ((s (make-string 10 :element-type 'base-char)))
74
#+:ansi-tests-strict-initial-element
75
(string-all-the-same s)
79
(deftest make-string.10
80
:notes (:nil-vectors-are-strings)
81
(let ((s (make-string 0 :element-type nil)))
90
(deftest make-string.allow-other-keys.1
91
(make-string 5 :allow-other-keys t :initial-element #\a)
94
(deftest make-string.allow-other-keys.2
95
(make-string 5 :initial-element #\a :allow-other-keys t)
98
(deftest make-string.allow-other-keys.3
99
(make-string 5 :initial-element #\a :allow-other-keys t
103
(deftest make-string.allow-other-keys.4
104
(make-string 5 :bad t :allow-other-keys t :allow-other-keys nil
105
:initial-element #\a)
108
(deftest make-string.allow-other-keys.5
109
(make-string 5 :allow-other-keys t :bad t :allow-other-keys nil
110
:initial-element #\a)
113
(deftest make-string.allow-other-keys.6
114
(make-string 5 :allow-other-keys t :allow-other-keys nil :bad nil
115
:initial-element #\a)
118
(deftest make-string.keywords.7
119
(make-string 5 :initial-element #\a :initial-element #\b)
124
(deftest make-string.error.1
125
(signals-error (make-string) program-error)
128
(deftest make-string.error.2
129
(signals-error (make-string 10 :bad t) program-error)
132
(deftest make-string.error.3
133
(signals-error (make-string 10 :bad t :allow-other-keys nil)
137
(deftest make-string.error.4
138
(signals-error (make-string 10 :initial-element) program-error)
141
(deftest make-string.error.5
142
(signals-error (make-string 10 1 1) program-error)
145
(deftest make-string.error.6
146
(signals-error (make-string 10 :element-type) program-error)
149
;;; Order of evaluation
151
(deftest make-string.order.1
154
(make-string (progn (setf a (incf i)) 4)
155
:initial-element (progn (setf b (incf i)) #\a))
159
(deftest make-string.order.2
162
(make-string (progn (setf a (incf i)) 4)
163
:initial-element (progn (setf b (incf i)) #\a)
164
:element-type (progn (setf c (incf i)) 'base-char))
168
(deftest make-string.order.3
171
(make-string (progn (setf a (incf i)) 4)
172
:element-type (progn (setf b (incf i)) 'base-char)
173
:initial-element (progn (setf c (incf i)) #\a))