From f15abc8a2d96799795f919aa9e871d11cd64eb17 Mon Sep 17 00:00:00 2001
From: pfdietz <pfdietz@localhost>
Date: Wed, 28 Jan 2004 12:51:35 +0000
Subject: [PATCH] Added tests for finish-output, force-output, and clear-output

---
 ansi-tests/clear-output.lsp  | 50 ++++++++++++++++++++++++++++++++++++
 ansi-tests/finish-output.lsp | 47 +++++++++++++++++++++++++++++++++
 ansi-tests/force-output.lsp  | 48 ++++++++++++++++++++++++++++++++++
 ansi-tests/load-streams.lsp  |  7 ++++-
 4 files changed, 151 insertions(+), 1 deletion(-)
 create mode 100644 ansi-tests/clear-output.lsp
 create mode 100644 ansi-tests/finish-output.lsp
 create mode 100644 ansi-tests/force-output.lsp

diff --git a/ansi-tests/clear-output.lsp b/ansi-tests/clear-output.lsp
new file mode 100644
index 00000000..384fd26c
--- /dev/null
+++ b/ansi-tests/clear-output.lsp
@@ -0,0 +1,50 @@
+;-*- Mode:     Lisp -*-
+;;;; Author:   Paul Dietz
+;;;; Created:  Wed Jan 28 06:43:17 2004
+;;;; Contains: Tests of CLEAR-OUTPUT
+
+(in-package :cl-test)
+
+(deftest clear-output.1
+  (progn (finish-output) (clear-output))
+  nil)
+
+(deftest clear-output.2
+  (progn (finish-output) (clear-output t))
+  nil)
+
+(deftest clear-output.3
+  (progn (finish-output) (clear-output nil))
+  nil)
+
+(deftest clear-output.4
+  (loop for s in (list *debug-io* *error-output* *query-io*
+		       *standard-output* *trace-output* *terminal-io*)
+	for dummy = (finish-output s)
+	for results = (multiple-value-list (clear-output s))
+	unless (equal results '(nil))
+	collect s)
+  nil)
+
+;;; Error tests
+
+(deftest clear-output.error.1
+  (signals-error (clear-output nil nil) program-error)
+  t)
+
+(deftest clear-output.error.2
+  (signals-error (clear-output t nil) program-error)
+  t)
+
+(deftest clear-output.error.3
+  (loop for x in *mini-universe*
+	unless (or (member x '(nil t))
+		   (typep x 'stream)
+		   (equalt
+		    (eval `(multiple-value-list
+			    (signals-error (clear-output ',x) type-error)))
+		    '(t)))
+	collect x)
+  nil)
+
+
diff --git a/ansi-tests/finish-output.lsp b/ansi-tests/finish-output.lsp
new file mode 100644
index 00000000..9ae795d1
--- /dev/null
+++ b/ansi-tests/finish-output.lsp
@@ -0,0 +1,47 @@
+;-*- Mode:     Lisp -*-
+;;;; Author:   Paul Dietz
+;;;; Created:  Wed Jan 28 06:38:20 2004
+;;;; Contains: Tests of FINISH-OUTPUT
+
+(in-package :cl-test)
+
+(deftest finish-output.1
+  (finish-output)
+  nil)
+
+(deftest finish-output.2
+  (finish-output t)
+  nil)
+
+(deftest finish-output.3
+  (finish-output nil)
+  nil)
+
+(deftest finish-output.4
+  (loop for s in (list *debug-io* *error-output* *query-io*
+		       *standard-output* *trace-output* *terminal-io*)
+	for results = (multiple-value-list (finish-output s))
+	unless (equal results '(nil))
+	collect s)
+  nil)
+
+;;; Error tests
+
+(deftest finish-output.error.1
+  (signals-error (finish-output nil nil) program-error)
+  t)
+
+(deftest finish-output.error.2
+  (signals-error (finish-output t nil) program-error)
+  t)
+
+(deftest finish-output.error.3
+  (loop for x in *mini-universe*
+	unless (or (member x '(nil t))
+		   (typep x 'stream)
+		   (equalt
+		    (eval `(multiple-value-list
+			    (signals-error (finish-output ',x) type-error)))
+		    '(t)))
+	collect x)
+  nil)
diff --git a/ansi-tests/force-output.lsp b/ansi-tests/force-output.lsp
new file mode 100644
index 00000000..979a6d95
--- /dev/null
+++ b/ansi-tests/force-output.lsp
@@ -0,0 +1,48 @@
+;-*- Mode:     Lisp -*-
+;;;; Author:   Paul Dietz
+;;;; Created:  Wed Jan 28 06:41:46 2004
+;;;; Contains: Tests of FORCE-OUTPUT
+
+(in-package :cl-test)
+
+(deftest force-output.1
+  (force-output)
+  nil)
+
+(deftest force-output.2
+  (force-output t)
+  nil)
+
+(deftest force-output.3
+  (force-output nil)
+  nil)
+
+(deftest force-output.4
+  (loop for s in (list *debug-io* *error-output* *query-io*
+		       *standard-output* *trace-output* *terminal-io*)
+	for results = (multiple-value-list (force-output s))
+	unless (equal results '(nil))
+	collect s)
+  nil)
+
+;;; Error tests
+
+(deftest force-output.error.1
+  (signals-error (force-output nil nil) program-error)
+  t)
+
+(deftest force-output.error.2
+  (signals-error (force-output t nil) program-error)
+  t)
+
+(deftest force-output.error.3
+  (loop for x in *mini-universe*
+	unless (or (member x '(nil t))
+		   (typep x 'stream)
+		   (equalt
+		    (eval `(multiple-value-list
+			    (signals-error (force-output ',x) type-error)))
+		    '(t)))
+	collect x)
+  nil)
+
diff --git a/ansi-tests/load-streams.lsp b/ansi-tests/load-streams.lsp
index bbb36ff6..bf70864f 100644
--- a/ansi-tests/load-streams.lsp
+++ b/ansi-tests/load-streams.lsp
@@ -30,4 +30,9 @@
 (load "open.lsp")
 (load "stream-external-format.lsp")
 (load "with-open-file.lsp")
-(load "listen.lsp")
\ No newline at end of file
+(load "listen.lsp")
+(load "clear-input.lsp")
+(load "finish-output.lsp")
+(load "force-output.lsp")
+(load "clear-output.lsp")
+
-- 
GitLab