;-*- Mode: Lisp -*- ;;;; Author: Paul Dietz ;;;; Created: Sat Jun 14 05:45:21 2003 ;;;; Contains: Tests of MAKE-SYMBOL (in-package :cl-test) (deftest make-symbol.1 (notnot-mv (symbolp (make-symbol "FOO"))) t) (deftest make-symbol.2 (symbol-package (make-symbol "BAR")) nil) (deftest make-symbol.3 (symbol-package (make-symbol "CL::FOO")) nil) (deftest make-symbol.4 (symbol-package (make-symbol "CL:FOO")) nil) (deftest make-symbol.5 (symbol-name (make-symbol "xyz")) "xyz") (deftest make-symbol.6 (eqt (make-symbol "A") (make-symbol "A")) nil) (deftest make-symbol.7 (boundp (make-symbol "B")) nil) (deftest make-symbol.8 (symbol-plist (make-symbol "C")) nil) (deftest make-symbol.9 (fboundp (make-symbol "D")) nil) (deftest make-symbol.10 (symbol-name (make-symbol "")) "") (deftest make-symbol.11 :notes (:nil-vectors-are-strings) (symbol-name (make-symbol (make-array '(0) :element-type nil))) "") (deftest make-symbol.12 (let* ((name (make-array '(4) :initial-contents '(#\A #\B #\C #\D) :element-type 'base-char)) (s (make-symbol name)) (name2 (symbol-name s))) (values (symbol-package s) (string=t name2 "ABCD"))) nil t) (deftest make-symbol.13 (let* ((name (make-array '(6) :initial-contents '(#\A #\B #\C #\D #\E #\F) :element-type 'character :fill-pointer 4)) (s (make-symbol name)) (name2 (symbol-name s))) (values (symbol-package s) (string=t name2 "ABCD"))) nil t) (deftest make-symbol.14 (let* ((name (make-array '(4) :initial-contents '(#\A #\B #\C #\D) :adjustable t :element-type 'character)) (s (make-symbol name)) (name2 (symbol-name s))) (values (symbol-package s) (string=t name2 "ABCD"))) nil t) (deftest make-symbol.15 (let* ((name0 (make-array '(6) :initial-contents '(#\0 #\A #\B #\C #\D #\E) :element-type 'character)) (name (make-array '(4) :element-type 'character :displaced-to name0 :displaced-index-offset 1)) (s (make-symbol name)) (name2 (symbol-name s))) (values (symbol-package s) (string=t name2 "ABCD"))) nil t) (deftest make-symbol.16 (let* ((name0 (make-array '(6) :initial-contents '(#\0 #\A #\B #\C #\D #\E) :element-type 'base-char)) (name (make-array '(4) :element-type 'base-char :displaced-to name0 :displaced-index-offset 1)) (s (make-symbol name)) (name2 (symbol-name s))) (values (symbol-package s) (string=t name2 "ABCD"))) nil t) (deftest make-symbol.order.1 (let ((i 0)) (values (symbol-name (make-symbol (progn (incf i) "ABC"))) i)) "ABC" 1) (deftest make-symbol.error.1 (check-type-error #'make-symbol #'stringp) nil) (deftest make-symbol.error.9 (signals-error (make-symbol) program-error) t) (deftest make-symbol.error.10 (signals-error (make-symbol "a" "a") program-error) t) (deftest make-symbol.error.11 (signals-type-error x '(#\a #\b #\c) (make-symbol x)) t)