From 5169aeb72ebbc0ec95b04bdbb608a657a4742670 Mon Sep 17 00:00:00 2001 From: pfdietz <pfdietz@localhost> Date: Tue, 13 Jul 2004 12:27:30 +0000 Subject: [PATCH] Added forgotten tests for GET --- ansi-tests/get.lsp | 79 +++++++++++++++++++++++++++++++++++++ ansi-tests/load-symbols.lsp | 2 + 2 files changed, 81 insertions(+) create mode 100644 ansi-tests/get.lsp diff --git a/ansi-tests/get.lsp b/ansi-tests/get.lsp new file mode 100644 index 00000000..30a101e0 --- /dev/null +++ b/ansi-tests/get.lsp @@ -0,0 +1,79 @@ +;-*- Mode: Lisp -*- +;;;; Author: Paul Dietz +;;;; Created: Tue Jul 13 07:01:47 2004 +;;;; Contains: Tests of GET + +(in-package :cl-test) + +(deftest get.1 + (let ((sym (gensym))) (get sym :foo)) + nil) + +(deftest get.2 + (let ((sym (gensym))) (get sym :foo :bar)) + :bar) + +(deftest get.3 + (let ((sym (gensym))) (get sym :foo (values :bar nil))) + :bar) + +(deftest get.4 + (let ((sym (gensym))) + (setf (symbol-plist sym) (list :foo 1 :bar 2 :foo 3)) + (values (get sym :foo) (get sym :bar))) + 1 2) + +(deftest get.5 + (let ((evaluated nil) + (sym (gensym))) + (assert (equal (multiple-value-list (setf (get sym :foo) 1)) + '(1))) + (values + (get sym :foo (progn (setf evaluated t) nil)) + evaluated)) + 1 t) + +(deftest get.6 + (let ((evaluated nil) + (sym (gensym))) + (assert (equal (multiple-value-list + (setf (get sym :foo + (progn (setf evaluated t) nil)) + 1)) + '(1))) + (values + (get sym :foo) + evaluated)) + 1 t) + +;;; Error tests + +(deftest get.error.1 + (signals-error (get) program-error) + t) + +(deftest get.error.2 + (signals-error (get nil) program-error) + t) + +(deftest get.error.3 + (signals-error (get nil nil nil nil) program-error) + t) + +(deftest get.error.4 + (loop for x in *mini-universe* + for form = `(signals-error (get ',x :foo) type-error) + unless (or (symbolp x) (eval form)) + collect x) + nil) + +(deftest get.error.5 + (loop for x in *mini-universe* + for form = `(signals-error (setf (get ',x :foo) nil) type-error) + unless (or (symbolp x) (eval form)) + collect x) + nil) + + + + \ No newline at end of file diff --git a/ansi-tests/load-symbols.lsp b/ansi-tests/load-symbols.lsp index 5bcd1fdb..6a02e689 100644 --- a/ansi-tests/load-symbols.lsp +++ b/ansi-tests/load-symbols.lsp @@ -13,4 +13,6 @@ (load "special-operator-p.lsp") (load "set.lsp") (load "remprop.lsp") +(load "get.lsp") + -- GitLab