314 lines
12 KiB
Plaintext
314 lines
12 KiB
Plaintext
;; Being tested: SEdit
|
|
;;
|
|
;; Source: {ERIS}<LispCore>DOC>SEDIT>SEDIT.TEDIT
|
|
;;
|
|
;; Created By: Henry Cate III
|
|
;;
|
|
;; Creation Date: February 23, 1987
|
|
;;
|
|
;; Last Update:
|
|
;;
|
|
;; Filed As: {eris}<lispcore>test>SEdit>command-mutate.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 "Mutate"
|
|
:before (progn
|
|
(setq window-list (do-test-menu-Setup "Mutate")))
|
|
|
|
:after (progn
|
|
(do-test-menu-Cleanup window-list))
|
|
|
|
|
|
(do-test "Mutate: no selection/no caret"
|
|
(let* ((user-result (do-test-menu-Message window-list 'high
|
|
" Testing Mutate
|
|
If there is no free Xerox Common Lisp exec, bring up a another one and type: \"(cl:in-package 'xcl-test)\"
|
|
In the exec type:
|
|
|
|
(defun temp-double (number) (* 2 number))
|
|
(defun temp-build-string (string)
|
|
(concatenate 'string string \" more\"))
|
|
(defun temp-car (list) (car list))
|
|
(defun temp-return-value () '(a list))
|
|
(setq tempx '(1 4.5 6/7 a cd efg \"hello\" \"BYE\" (bye) (\"hi\" (b) cd 4)))
|
|
(il:dv tempx)
|
|
|
|
Select Mutate from the pop up menu.
|
|
Does SEdit display in the SEdit prompt window:
|
|
\"Select whole structure to mutate.\"? "))
|
|
(good-value (equal '(1 4.5 6/7 a cd efg "hello" "BYE" (bye) ("hi" (b) cd 4)) tempx)))
|
|
(and user-result (if (eq t user-result) good-value T))
|
|
))
|
|
|
|
|
|
(do-test "Mutate: no selection/edit caret"
|
|
(do-test-menu-Message window-list 'low
|
|
" Testing: no selection/edit caret
|
|
Assuming SEdit is editing the variable tempx which currently equals:
|
|
(1 4.5 6/7 a cd efg \"hello\" \"BYE\" (bye) (\"hi\" (b) cd 4))
|
|
Select DONE from the SEdit popup menu.
|
|
Want to place the edit caret right after the 1 without selecting it. Do this by pressing the left mouse button with the mouse cursor just to the right of the 1.
|
|
Type meta-Z.
|
|
Does SEdit display in the SEdit prompt window:
|
|
\"Select whole structure to mutate.\"? "))
|
|
|
|
|
|
(do-test "Mutate: no selection/structure caret"
|
|
(do-test-menu-Message window-list 'low
|
|
" Testing: no selection/structure caret
|
|
Assuming SEdit is editing the variable tempx which currently equals:
|
|
(1 4.5 6/7 a cd efg \"hello\" \"BYE\" (bye) (\"hi\" (b) cd 4))
|
|
Want to place the structure caret right between \"(b)\" and \"cd\" without selecting either item. Do this by positioning the mouse cursor between the two items and press the middle button.
|
|
Type meta-Z.
|
|
Does SEdit display in the SEdit prompt window:
|
|
\"Select whole structure to mutate.\"? "))
|
|
|
|
|
|
(do-test "Mutate: select a litatom"
|
|
(let* ((user-result (do-test-menu-Message window-list 'low
|
|
" Testing: select a litatom
|
|
Assuming SEdit is editing the variable tempx which currently equals:
|
|
(1 4.5 6/7 a cd efg \"hello\" \"BYE\" (bye) \"hi\" (b) cd 4))
|
|
Select the first litatom \"cd\" as a structure, by pressing the left mouse button twice with the cursor over the litatom.
|
|
Type meta-Z.
|
|
Enter \"temp-return-value\".
|
|
Does SEdit display in the SEdit prompt window:
|
|
\"Error during mutation. No changes made.\"? "))
|
|
(good-value (equal '(1 4.5 6/7 a cd efg "hello" "BYE" (bye) ("hi" (b) cd 4)) tempx)))
|
|
(and user-result (if (eq t user-result) good-value T))
|
|
))
|
|
|
|
|
|
(do-test "Mutate: select a string"
|
|
(let* ((user-result (do-test-menu-Message window-list 'low
|
|
" Testing: select a string
|
|
Assuming SEdit is editing the variable tempx which currently equals:
|
|
(1 4.5 6/7 a cd efg \"hello\" \"BYE\" (bye) (\"hi\" (b) cd 4))
|
|
Select the string \"hello\" as a structure, by pressing the left mouse button twice with the cursor over the string.
|
|
Type meta-Z.
|
|
Enter \"temp-build-string\".
|
|
Were you able to get this far? "))
|
|
(good-value (equal '(1 4.5 6/7 a cd efg "hello more" "BYE" (bye) ("hi" (b) cd 4)) tempx)))
|
|
(and user-result (if (eq t user-result) good-value T))
|
|
))
|
|
|
|
|
|
(do-test "Mutate: select a number"
|
|
(let* ((user-result (do-test-menu-Message window-list 'low
|
|
" Testing: select a number
|
|
Assuming SEdit is editing the variable tempx which currently equals:
|
|
(1 4.5 6/7 a cd efg \"hello more\" \"BYE\" (bye) (\"hi\" (b) cd 4))
|
|
Type meta-U.
|
|
Select the number \"4.5\" as a structure, by pressing the left mouse button twice with the cursor over the number.
|
|
Type meta-Z.
|
|
Enter \"temp-double\"
|
|
Were you able to get this far? "))
|
|
(good-value (equal '(1 9.0 6/7 a cd efg "hello" "BYE" (bye) ("hi" (b) cd 4)) tempx)))
|
|
(and user-result (if (eq t user-result) good-value T))
|
|
))
|
|
|
|
|
|
(do-test "Mutate: select a list"
|
|
(let* ((user-result (do-test-menu-Message window-list 'low
|
|
" Testing: select a list
|
|
Assuming SEdit is editing the variable tempx which currently equals:
|
|
(1 9.0 6/7 a cd efg \"hello\" \"BYE\" (bye) (\"hi\" (b) cd 4))
|
|
Type meta-U.
|
|
Select the list \"(bye)\" as a structure, by pressing the left mouse button three times with the cursor over the \"y\".
|
|
Type meta-Z.
|
|
Enter \"temp-car\"
|
|
Were you able to get this far? "))
|
|
(good-value (equal '(1 4.5 6/7 a cd efg "hello" "BYE" bye ("hi" (b) cd 4)) tempx)))
|
|
(and user-result (if (eq t user-result) good-value T))
|
|
))
|
|
|
|
|
|
(do-test "Mutate: select part of a litatom"
|
|
(do-test-menu-Message window-list 'low
|
|
" Testing: select part of a litatom
|
|
Assuming SEdit is editing the variable tempx which currently equals:
|
|
(1 4.5 6/7 a cd efg \"hello\" \"BYE\" bye (\"hi\" (b) cd 4))
|
|
Type meta-U.
|
|
Select the \"d\" in the first litatom \"cd\".
|
|
Type meta-Z.
|
|
Does SEdit display in the SEdit prompt window:
|
|
\"Select whole structure to mutate.\"? "))
|
|
|
|
|
|
(do-test "Mutate: select part of a string"
|
|
(do-test-menu-Message window-list 'low
|
|
" Testing: select part of a string
|
|
Assuming SEdit is editing the variable tempx which currently equals:
|
|
(1 4.5 6/7 a cd efg \"hello\" \"BYE\" (bye) (\"hi\" (b) cd 4))
|
|
Select the \"h\" in the string \"hello\".
|
|
Type meta-Z.
|
|
Does SEdit display in the SEdit prompt window:
|
|
\"Select whole structure to mutate.\"? "))
|
|
|
|
|
|
(do-test "Mutate: select part of a number"
|
|
(do-test-menu-Message window-list 'low
|
|
" Testing: select part of a number
|
|
Assuming SEdit is editing the variable tempx which currently equals:
|
|
(1 4.5 6/7 a cd efg \"hello\" \"BYE\" (bye) (\"hi\" (b) cd 4))
|
|
Select the \"7\" in the number \"6/7\".
|
|
Type meta-Z.
|
|
Does SEdit display in the SEdit prompt window:
|
|
\"Select whole structure to mutate.\"? "))
|
|
|
|
|
|
(do-test "Mutate: pending delete of a litatom"
|
|
(do-test-menu-Message window-list 'low
|
|
" Testing: pending delete of litatom
|
|
Assuming SEdit is editing the variable tempx which currently equals:
|
|
(1 4.5 6/7 a cd efg \"hello\" \"BYE\" (bye) (\"hi\" (b) cd 4))
|
|
Select the litatom \"efg\" in pending delete mode by first pressing the left button of the mouse with the cursor on the \"e\" and then pressing the right button withe the cursor on the \"g\". This should create a box around the litatom \"efg\".
|
|
Type meta-Z.
|
|
Does SEdit display in the SEdit prompt window:
|
|
\"Select whole structure to mutate.\"? "))
|
|
|
|
|
|
(do-test "Mutate: pending delete of a string"
|
|
(do-test-menu-Message window-list 'low
|
|
" Testing: pending delete of a string
|
|
Assuming SEdit is editing the variable tempx which currently equals:
|
|
(1 4.5 6/7 a cd efg \"hello\" \"BYE\" (bye) (\"hi\" (b) cd 4))
|
|
Select the string \"hello\" in pending delete mode bye clicking on the \"h\", then pressing the right mouse button with the cursor to the right of the string.
|
|
Type meta-Z.
|
|
Does SEdit display in the SEdit prompt window:
|
|
\"Select whole structure to mutate.\"? "))
|
|
|
|
|
|
(do-test "Mutate: pending delete of a list"
|
|
(do-test-menu-Message window-list 'low
|
|
" Testing: pending delete of a list
|
|
Assuming SEdit is editing the variable tempx which currently equals:
|
|
(1 4.5 6/7 a cd efg \"hello\" \"BYE\" (bye) (\"hi\" (b) cd 4))
|
|
Select the list \"(bye)\" in pending delete mode.
|
|
Type meta-Z.
|
|
Does SEdit display in the SEdit prompt window:
|
|
\"Select whole structure to mutate.\"? "))
|
|
|
|
|
|
(do-test "Mutate: extended selection of litatoms"
|
|
(do-test-menu-Message window-list 'low
|
|
" Testing: try extended selection of litatoms
|
|
Assuming SEdit is editing the variable tempx which currently equals:
|
|
(1 4.5 6/7 a cd efg \"hello\" \"BYE\" (bye) (\"hi\" (b) cd 4))
|
|
Select the litatom \"a\" as a structure, and extend the selection to include the next two litatoms.
|
|
Type meta-Z
|
|
Does SEdit display in the SEdit prompt window:
|
|
\"Select whole structure to mutate.\"? "))
|
|
|
|
|
|
(do-test "Mutate: extended selection of strings"
|
|
(do-test-menu-Message window-list 'low
|
|
" Testing: extended selection of strings
|
|
Assuming SEdit is editing the variable tempx which currently equals:
|
|
(1 4.5 6/7 a cd efg \"hello\" \"BYE\" (bye) (\"hi\" (b) cd 4))
|
|
Now select the string \"hello\" as a structure, and extend the selection to include the second string.
|
|
Type meta-Z
|
|
Does SEdit display in the SEdit prompt window:
|
|
\"Select whole structure to mutate\"? "))
|
|
|
|
|
|
(do-test "Mutate: extended selection of numbers"
|
|
(do-test-menu-Message window-list 'low
|
|
" Testing: extended selection of numbers
|
|
Assuming SEdit is editing the variable tempx which currently equals:
|
|
(1 4.5 6/7 a cd efg \"hello\" \"BYE\" (bye) (\"hi\" (b) cd 4))
|
|
Select the number \"1\" as a structure, and extend the selection to include the next two numbers.
|
|
Type meta-Z.
|
|
Does SEdit display in the SEdit prompt window:
|
|
\"Select whole structure to mutate.\"? "))
|
|
|
|
|
|
(do-test "Mutate: extended selection of lists"
|
|
(do-test-menu-Message window-list 'low
|
|
" Testing: extended selection of lists
|
|
Assuming SEdit is editing the variable tempx which currently equals:
|
|
(1 4.5 6/7 a cd efg \"hello\" \"BYE\" (bye) (\"hi\" (b) cd 4))
|
|
Select the list \"(bye)\" as a structure, and extend the selection to include the next list.
|
|
Type meta-Z.
|
|
Does SEdit display in the SEdit prompt window:
|
|
\"Select whole structure to mutate.\"? "))
|
|
|
|
|
|
(do-test "Mutate: extended selection of litatoms and numbers"
|
|
(do-test-menu-Message window-list 'low
|
|
" Testing: extended selection of litatoms and numbers
|
|
Assuming SEdit is editing the variable tempx which currently equals:
|
|
(1 4.5 6/7 a cd efg \"hello\" \"BYE\" (bye) (\"hi\" (b) cd 4))
|
|
Select the number \"1\" as a structure, and extend the selection to include the next five items.
|
|
Type meta-Z.
|
|
Does SEdit display in the SEdit prompt window:
|
|
\"Select whole structure to mutate.\"? "))
|
|
|
|
|
|
(do-test "Mutate: extended selection of strings and lists"
|
|
(do-test-menu-Message window-list 'low
|
|
" Testing: extended selection of strings and lists
|
|
Assuming SEdit is editing the variable tempx which currently equals:
|
|
(1 4.5 6/7 a cd efg \"hello\" \"BYE\" (bye) (\"hi\" (b) cd 4))
|
|
Select the string \"hello\" as a structure, and extend the selection to include the next three items.
|
|
Type meta-Z.
|
|
Does SEdit display in the SEdit prompt window:
|
|
\"Select whole structure to mutate.\"? "))
|
|
|
|
|
|
(do-test "Mutate: extended selection of several things"
|
|
(do-test-menu-Message window-list 'low
|
|
" Testing: extended selection of several things
|
|
Assuming SEdit is editing the variable tempx which currently equals:
|
|
(1 4.5 6/7 a cd efg \"hello\" \"BYE\" (bye) (\"hi\" (b) cd 4))
|
|
Select the number \"1\" as a structure, and extend the selection to include the rest.
|
|
Type meta-Z.
|
|
Does SEdit display in the SEdit prompt window:
|
|
\"Select whole structure to mutate.\"? "))
|
|
|
|
|
|
(do-test "Mutate: selection of entire structure"
|
|
(let* ((user-result (do-test-menu-Message window-list 'low
|
|
" Testing: selection of entire structure
|
|
Assuming SEdit is editing the variable tempx which currently equals:
|
|
(1 4.5 6/7 a cd efg \"hello\" \"BYE\" (bye) (\"hi\" (b) gh 4))
|
|
Select the entire structure.
|
|
Type meta-Z.
|
|
Enter \"temp-car\"
|
|
Were you able to get this far? "))
|
|
(good-value (equal 1 tempx)))
|
|
(and user-result (if (eq t user-result) good-value T))
|
|
))
|
|
|
|
|
|
|
|
(do-test "Mutate: Pending delete of whole structure"
|
|
(do-test-menu-Message window-list 'low
|
|
" Testing: selection of entire structure
|
|
Assuming SEdit is editing the variable tempx which currently equals:
|
|
(1 4.5 6/7 a cd efg \"hello\" \"BYE\" (bye) (\"hi\" (b) cd 4))
|
|
Type meta-U.
|
|
Select the entire structure in pending delete mode.
|
|
Type meta-z.
|
|
Does SEdit display in the SEdit prompt window:
|
|
\"Select whole structure to mutate.\"? "))
|
|
|
|
|
|
(do-test "Clean up"
|
|
(do-test-menu-message window-list 'high
|
|
"Close the SEdit window by selecting Done&Close from the window popup menu."))
|
|
|
|
) ; end of do-test-group
|
|
|
|
|
|
STOP
|