1
0
mirror of synced 2026-01-15 00:12:24 +00:00

331 lines
13 KiB
Plaintext

; Being tested: SEdit
;;
;; Source: {ERIS}<LispCore>DOC>SEDIT>SEDIT.TEDIT
;;
;; Created By: Henry Cate III
;;
;; Creation Date: February 10, 1987
;;
;; Last Update:
;;
;; Filed As: {eris}<lispcore>test>SEdit>command-join.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 "Join"
:before (progn
(setq window-list (do-test-menu-Setup "Join")))
:after (progn
(do-test-menu-Cleanup window-list))
(do-test "Join: no selection/no caret"
(let* (( user-result(do-test-menu-Message window-list 'high
" Testing Join
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:
(setq tempx '(1 2 4.5 6/7 a b cd efg \"hello\" \"BYE\" (bye) (\"hi\" b cd 4)))
(il:dv tempx)
Select Join from the popup menu.
Does SEdit display in the SEdit prompt window:
\"Select items to join.\"? "))
(good-value (equal '(1 2 4.5 6/7 a b cd efg "hello" "BYE" (bye) ("hi" b cd 4)) tempx)))
(and user-result (if (eq t user-result) good-value T))
))
(do-test "Join: 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 2 4.5 6/7 a b 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-J.
Does SEdit display in the SEdit prompt window:
\"Select items to join.\"? "))
(do-test "Join: 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 2 4.5 6/7 a b 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-J.
Does SEdit display in the SEdit prompt window:
\"Select items to join.\"? "))
(do-test "Join: select a litatom"
(do-test-menu-Message window-list 'low
" Testing: select a litatom
Assuming SEdit is editing the variable tempx which currently equals:
(1 2 4.5 6/7 a b 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-J.
Does SEdit display in the SEdit prompt window:
\"Select items to join.\"? "))
(do-test "Join: select a string"
(do-test-menu-Message window-list 'low
" Testing: select a string
Assuming SEdit is editing the variable tempx which currently equals:
(1 2 4.5 6/7 a b cd efg \"hello\" \"BYE\" (bye) (\"hi\" b cd 4))
Select the string \"hello\" as a structuret, by pressing the left mouse button twice with the cursor over the string.
Type meta-J.
Does SEdit display in the SEdit prompt window:
\"Select items to join.\"? "))
(do-test "Join: select a number"
(do-test-menu-Message window-list 'low
" Testing: select a number
Assuming SEdit is editing the variable tempx which currently equals:
(1 2 4.5 6/7 a b cd efg \"hello\" \"BYE\" (bye) (\"hi\" b cd 4))
Select the number \"4.5\" as a structure, by pressing the left mouse button twice with the cursor over the number.
Type meta-J.
Does SEdit display in the SEdit prompt window:
\"Select items to join.\"? "))
(do-test "Join: select a list"
(do-test-menu-Message window-list 'low
" Testing: select a list
Assuming SEdit is editing the variable tempx which currently equals:
(1 2 4.5 6/7 a b cd efg \"hello\" \"BYE\" (bye) (\"hi\" b cd 4))
Select the list \"(bye)\" as a structure, by pressing the left mouse button three times with the cursor over the \"y\".
Type meta-J.
Does SEdit display in the SEdit prompt window:
\"Select items to join.\"? "))
(do-test "Join: select a comment"
(do-test-menu-Message window-list 'low
" Testing: select a comment
Assuming SEdit is editing the variable tempx which currently equals:
(1 2 4.5 6/7 a b cd efg \"hello\" \"BYE\" (bye) (\"hi\" b cd 4))
Place the edit caret after the number 1 and type \"; hello\", then select this as a structure.
Type meta-J.
Does SEdit display in the SEdit prompt window:
\"Select items to join.\"? "))
(do-test "Join: 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 ; hello 2 4.5 6/7 a b cd efg \"hello\" \"BYE\" (bye) (\"hi\" b cd 4))
Select the comment as a structure and press the delete key.
Type control-x.
Select the \"d\" in the first litatom \"cd\".
Type meta-J.
Does SEdit display in the SEdit prompt window:
\"Select items to join.\"? "))
(do-test "Join: 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 2 4.5 6/7 a b cd efg \"hello\" \"BYE\" (bye) (\"hi\" b cd 4))
Select the \"h\" in the string \"hello\".
Type meta-J.
Does SEdit display in the SEdit prompt window:
\"Select items to join.\"? "))
(do-test "Join: select part of a number"
(let* ((user-result (do-test-menu-Message window-list 'low
" Testing: select part of a number
Assuming SEdit is editing the variable tempx which currently equals:
(1 2 4.5 6/7 a b cd efg \"hello\" \"BYE\" (bye) (\"hi\" b cd 4))
Select the \"7\" in the number \"6/7\".
Type meta-J.
Does SEdit display in the SEdit prompt window:
\"Select items to join.\"? "))
(good-value (equal '(1 2 4.5 6/7 a b cd efg "hello" "BYE" (bye) ("hi" b cd 4)) tempx)))
(and user-result (if (eq t user-result) good-value T))
))
(do-test "Join: 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 2 4.5 6/7 a b 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-J.
Does SEdit display in the SEdit prompt window:
\"Select items to join.\"? "))
(do-test "Join: 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 2 4.5 6/7 a b 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-J.
Does SEdit display in the SEdit prompt window:
\"Select items to join.\"? "))
(do-test "Join: pending delete a number"
(do-test-menu-Message window-list 'low
" Testing: pending delete of a number
Assuming SEdit is editing the variable tempx which currently equals:
(1 2 4.5 6/7 a b cd efg \"hello\" \"BYE\" (bye) (\"hi\" b cd 4))
Select the number \"4.5\" in pending delete mode.
Type meta-J.
Does SEdit display in the SEdit prompt window:
\"Select items to join.\"? "))
(do-test "Join: 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 2 4.5 6/7 a b cd efg \"hello\" \"BYE\" (bye) (\"hi\" b cd 4))
Select the list \"(bye)\" in pending delete mode.
Type meta-J.
Does SEdit display in the SEdit prompt window:
\"Select items to join.\"? "))
(do-test "Join: pending delete of a comment"
(do-test-menu-Message window-list 'low
" Testing: pending delete of a comment
Assuming SEdit is editing the variable tempx which currently equals:
(1 2 4.5 6/7 a b cd efg \"hello\" \"BYE\" (bye) (\"hi\" b cd 4))
Place the structure caret the number \"1\".
Type in \"; hello\"
Select the comment in pending delete mode.
Type meta-J.
Does SEdit display in the SEdit prompt window:
\"Select items to join.\"? "))
(do-test "Join: extended selection of litatoms"
(let* ((user-result (do-test-menu-Message window-list 'low
" Testing: try extended selection of litatoms
Assuming SEdit is editing the variable tempx which currently equals:
(1 ; hello 2 4.5 6/7 a b cd efg \"hello\" \"BYE\" (bye) (\"hi\" b cd 4))
Delete the comment.
Select the litatom \"a\" as a structure, and extend the selection to include the next two litatoms.
Type meta-J
Were the litatoms joined together to form \"abcd\"? "))
(good-value (equal '(1 2 4.5 6/7 abcd efg "hello" "BYE" (bye) ("hi" b cd 4)) tempx)))
(and user-result (if (eq t user-result) good-value T))
))
(do-test "Join: extended selection of strings"
(let* ((user-result (do-test-menu-Message window-list 'low
" Testing: extended selection of strings
Assuming SEdit is editing the variable tempx which currently equals:
(1 2 4.5 6/7 abcd 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-J
Were the strings joined together to form the string \"helloBYE\"? "))
(good-value (equal '(1 2 4.5 6/7 abcd efg "helloBYE" (bye) ("hi" b cd 4)) tempx)))
(and user-result (if (eq t user-result) good-value T))
))
(do-test "Join: extended selection of numbers"
(let* ((user-result (do-test-menu-Message window-list 'low
" Testing: extended selection of numbers
Assuming SEdit is editing the variable tempx which currently equals:
(1 2 4.5 6/7 abcd efg \"helloBYE\" (bye) (\"hi\" b cd 4))
Select the number \"1\" as a structure, and extend the selection to include the next number.
Type meta-J.
(If a break window pops up, uparrow out of it and indicate failure.)
Does SEdit display in the SEdit prompt window:
\"Can't join numbers.\"? "))
(good-value (equal '(1 2 4.5 6/7 abcd efg "helloBYE" (bye) ("hi" b cd 4)) tempx)))
(and user-result (if (eq t user-result) good-value T))
))
(do-test "Join: extended selection of lists"
(let* ((user-result (do-test-menu-Message window-list 'low
" Testing: extended selection of lists
Assuming SEdit is editing the variable tempx which currently equals:
(1 2 4.5 6/7 abcd efg \"helloBYE\" (bye) (\"hi\" b cd 4))
Select the list \"(bye)\" as a structure, and extend the selection to include the next list.
Type meta-J.
Were the lists joined together to form the list \"(bye \"hi\" b cd 4)\"? "))
(good-value (equal '(1 2 4.5 6/7 abcd efg "helloBYE" (bye "hi" b cd 4)) tempx)))
(and user-result (if (eq t user-result) good-value T))
))
(do-test "Join: 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 2 4.5 6/7 abcd efg \"helloBYE\" (bye \"hi\" b cd 4))
Select the number \"1\" as a structure, and extend the selection to include the next five items.
Type meta-J.
(If a break window pops up, uparrow out of it and indicate failure.)
Does SEdit display in the SEdit prompt window:
\"Can't join numbers.\"? "))
(do-test "Join: 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 2 4.5 6/7 abcd efg \"helloBYE\" (bye \"hi\" b cd 4))
Select the string \"helloBYE\" as a structure, and extend the selection to include the next item.
Type meta-J.
Does SEdit display in the SEdit prompt window:
\"Each item to join must be of the same type.\"? "))
(do-test "Join: 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 2 4.5 6/7 abcd efg \"helloBYE\" (bye \"hi\" b cd 4))
Select the number \"1\" as a structure, and extend the selection to include the rest.
Type meta-J.
Does SEdit display in the SEdit prompt window:
\"Each item to join must be of the same type.\"? "))
(do-test "Join: 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 2 4.5 6/7 abcd efg \"helloBYE\" (bye \"hi\" b cd 4))
Select the entire structure.
Type meta-J.
Does SEdit display in the SEdit prompt window:
\"Select items to join.\"? "))
(good-value (equal '(1 2 4.5 6/7 abcd efg "helloBYE" (bye "hi" b cd 4)) tempx)))
(and user-result (if (eq t user-result) good-value T))
))
(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