1
0
mirror of synced 2026-01-15 16:26:26 +00:00
2020-12-16 18:21:28 -08:00

197 lines
6.3 KiB
Plaintext

;; Being tested: PromptForWord
;;
;; Source:
;;
;; Created By: Henry Cate III
;;
;; Creation Date: March 10, 1987
;;
;; Last Update:
;;
;; Filed As: {eris}<lispcore>test>Keyboard>PromptForWord.u
;;
;;
;;
(do-test "load the functions for the prompter for interactive tests"
(if (not (fboundp 'do-test-menu-setup))
(load "{ERINYES}<test>TOOLS>DO-TEST-MENU.dfasl"))
T)
(do-test-group "Testing PromptForWord"
:before (progn
(setq window-list (do-test-menu-Setup "PromptForWord")))
:after (progn
(do-test-menu-Cleanup window-list))
(do-test "Check basic ReadNumber works"
(let* ((user-result1 (do-test-menu-Message window-list 'high
" Get to the Interlisp exec
If there is no free Interlisp exec, bring up a another one.
Place the cursor in the Interlisp exec.
Indicate success when you get this far. "))
(command-string
"(SETQ TEMPX (PROMPTFORWORD \"Type hello\"))")
(toss-away (IL:BKSYSBUF command-string))
(user-result2 (do-test-menu-Message window-list 'high
" Check basic ReadNumber works
Enter \"hello\" and a CR.
Was the prompt:
\"Type hello\"? "))
(good-value (equal "hello" il:|TEMPX|)))
(and user-result1 user-result2 (if (eq t user-result2) good-value T))
))
(do-test "Check can do candidate string"
(let* ((user-result1 (do-test-menu-Message window-list 'high
" Get to the Interlisp exec
Indicate success when the cursor is in the Interlisp exec. "))
(command-string
"(SETQ TEMPX (PROMPTFORWORD \"Type good-bye\" 'good-bye))")
(toss-away (IL:BKSYSBUF command-string))
(user-result2 (do-test-menu-Message window-list 'high
" Check can do candidate string
Just press the space-bar.
Does the line read:
\"Type good-bye good-bye\"? "))
(good-value (equal "good-bye" il:|TEMPX|)))
(and user-result1 user-result2 (if (eq t user-result2) good-value T))
))
(do-test "test returns nil when nothing is entered."
(let* ((user-result1 (do-test-menu-Message window-list 'high
" Get to the Interlisp exec
Indicate success when the cursor is in the Interlisp exec. "))
(command-string
"(SETQ TEMPX (PROMPTFORWORD \"Just press the tab key\"))")
(toss-away (IL:BKSYSBUF command-string))
(user-result2 (do-test-menu-Message window-list 'high
" test returns nil when nothing is entered
Just press the tab key.
Were you able to get this far? "))
(good-value (equal NIL il:|TEMPX|)))
(and user-result1 user-result2 (if (eq t user-result2) good-value T))
))
(do-test "Test help."
(let* ((user-result1 (do-test-menu-Message window-list 'high
" Get to the Interlisp exec
Indicate success when the cursor is in the Interlisp exec. "))
(command-string
"(SETQ TEMPX (PROMPTFORWORD \"First question mark, then CR\" NIL \"This is a help message\"))")
(toss-away (IL:BKSYSBUF command-string))
(user-result2 (do-test-menu-Message window-list 'high
" Test help
Type in \"?\"
Then press CR.
Was the following three lines printed out?
First question mark, then CR
This is a help message
First question mark, then CR "))
(good-value (equal NIL il:|TEMPX|)))
(and user-result1 user-result2 (if (eq t user-result2) good-value T))
))
(do-test "Test DONTECHOTYPEIN.FLG."
(let* ((user-result1 (do-test-menu-Message window-list 'high
" Get to the Interlisp exec
Indicate success when the cursor is in the Interlisp exec. "))
(command-string
"(SETQ TEMPX (PROMPTFORWORD \"Just CR\" \"password\" NIL NIL '*))")
(toss-away (IL:BKSYSBUF command-string))
(user-result2 (do-test-menu-Message window-list 'high
" Test DONTECHOTYPEIN.FLG
Press CR.
Was the prompt:
\"Just CR ********\" "))
(good-value (equal "password" il:|TEMPX|)))
(and user-result1 user-result2 (if (eq t user-result2) good-value T))
))
(do-test "Test urgency.option, part 1."
(let* ((user-result1 (do-test-menu-Message window-list 'high
" Get to the Interlisp exec
Indicate success when the cursor is in the Interlisp exec. "))
(command-string
"(SETQ TEMPX (PROMPTFORWORD \"Nothing\" \"smile\" NIL NIL NIL 1))")
(toss-away (IL:BKSYSBUF command-string))
(user-result2 (do-test-menu-Message window-list 'high
" Test urgency.option, part 1
Wait, it should continue on it's own after a second or two..
Was the prompt:
\"Nothing smile\"
And did it go on on its own? "))
(good-value (equal "smile" il:|TEMPX|)))
(and user-result1 user-result2 (if (eq t user-result2) good-value T))
))
(do-test "Test urgency.option, part 2."
(let* ((user-result1 (do-test-menu-Message window-list 'high
" Get to the Interlisp exec
Indicate success when the cursor is in the Interlisp exec. "))
(command-string
"(SETQ TEMPX (PROMPTFORWORD \"Wait, then CR\" \"smile\" NIL NIL NIL T))")
(toss-away (IL:BKSYSBUF command-string))
(user-result2 (do-test-menu-Message window-list 'high
" Test urgency.option, part 2
Wait for a minute.
Then press the CR.
Did the exec window flash? "))
(good-value (equal "smile" il:|TEMPX|)))
(and user-result1 user-result2 (if (eq t user-result2) good-value T))
))
(do-test "Test terminating character list."
(let* ((user-result1 (do-test-menu-Message window-list 'high
" Get to the Interlisp exec
Indicate success when the cursor is in the Interlisp exec. "))
(command-string
"(SETQ TEMPX (PROMPTFORWORD \"Type 12345\" NIL NIL NIL NIL NIL (CHARCODE (5 6 7))))")
(toss-away (IL:BKSYSBUF command-string))
(user-result2 (do-test-menu-Message window-list 'high
" Test terminating character list
Type: \"12345\"
Did it return after the number \"5\"? "))
(good-value (equal "1234" il:|TEMPX|)))
(and user-result1 user-result2 (if (eq t user-result2) good-value T))
))
(do-test "Try in XCL."
(let* ((user-result1 (do-test-menu-Message window-list 'high
" Get to a XCL exec
If needed bring up another XCL exec.
Indicate success when the cursor is in the XCL exec. "))
(command-string
"(cl:in-package 'xcl-test)
(SETQ TEMPX (il:PROMPTFORWORD \"Type 12345\" ))")
(toss-away (IL:BKSYSBUF command-string))
(user-result2 (do-test-menu-Message window-list 'high
" Try in XCL
Type: \"12345\"
Then a CR
Were you able to get this far? "))
(good-value (equal "12345" TEMPX)))
(and user-result1 user-result2 (if (eq t user-result2) good-value T))
))
) ; end of do-test-group
STOP