2
;;;; Author: Paul Dietz
3
;;;; Created: Sat Jun 14 05:44:41 2003
4
;;;; Contains: Tests of COPY-SYMBOL
12
(let ((y (copy-symbol x)))
13
(and (null (symbol-plist y))
17
(null (symbol-package y))
18
(string= (symbol-name x) (symbol-name y))
19
(symbolp (copy-symbol y))
21
'(nil t a b |a| |123|)))
24
(deftest copy-symbol.2
26
(setf (symbol-plist '|foo|) '(a b c d))
31
(let ((y (copy-symbol x t)))
33
(equal (symbol-plist y) (symbol-plist x))
38
(if (fboundp x) (fboundp y) (not (fboundp y)))
39
(null (symbol-package y))
40
(string= (symbol-name x) (symbol-name y))
42
'(nil t a b |foo| |a| |123|))))
45
(deftest copy-symbol.3
47
(setf (symbol-plist '|foo|) '(a b c d))
48
(setf (symbol-value '|a|) 12345)
52
(let ((y (copy-symbol x t)))
54
(eql (length (symbol-plist y))
55
(length (symbol-plist x)))
57
(every #'eq (symbol-plist y) (symbol-plist x))
63
(if (fboundp x) (fboundp y) (not (fboundp y)))
64
(null (symbol-package y))
65
(string= (symbol-name x) (symbol-name y))
66
(eql (length (symbol-plist x))
67
(length (symbol-plist y)))
69
'(nil t a b |foo| |a| |123|))))
72
(deftest copy-symbol.4
73
(eqt (copy-symbol 'a) (copy-symbol 'a))
76
(deftest copy-symbol.5
77
(let ((i 0) x y (s '#:|x|))
78
(let ((s2 (copy-symbol
79
(progn (setf x (incf i)) s)
80
(progn (setf y (incf i)) nil))))
89
(deftest copy-symbol.error.1
90
(signals-error (copy-symbol) program-error)
93
(deftest copy-symbol.error.2
94
(signals-error (copy-symbol 'a t 'foo) program-error)