racket/collects/tests/framework/text.ss
Robby Findler 3cf662e760 cleanups in test suites
svn: r3763
2006-07-19 04:34:48 +00:00

77 lines
3.1 KiB
Scheme

(module text mzscheme
(require "test-suite-utils.ss")
(define dummy-frame-title "dummy to avoid quitting")
(send-sexp-to-mred `(send (make-object frame:basic% ,dummy-frame-title) show #t))
(define (test-creation frame% class name)
(test
name
(lambda (x)
(equal? x (list dummy-frame-title))) ;; ensure no frames left
(lambda ()
(let ([label
(send-sexp-to-mred
`(let ([f (instantiate (class ,frame%
(override get-editor%)
[define (get-editor%) ,class]
(super-instantiate ()))
())])
(send (send f get-editor) set-max-undo-history 10)
(send f show #t)
(send f get-label)))])
(wait-for-frame label)
(send-sexp-to-mred `(test:keystroke #\a))
(wait-for `(string=? "a" (send (send (get-top-level-focus-window) get-editor) get-text)))
(send-sexp-to-mred
`(begin
;; remove the `a' to avoid save dialog boxes (and test them, I suppose)
(send (send (get-top-level-focus-window) get-editor) undo)
(send (send (get-top-level-focus-window) get-editor) undo)
(send (send (get-top-level-focus-window) get-editor) lock #t)
(send (send (get-top-level-focus-window) get-editor) lock #f)))
(queue-sexp-to-mred
`(send (get-top-level-focus-window) close))
(send-sexp-to-mred `(map (lambda (x) (send x get-label)) (get-top-level-windows)))))))
#|
(test-creation 'frame:text%
'(text:basic-mixin (editor:basic-mixin text%))
'text:basic-mixin-creation)
(test-creation 'frame:text%
'text:basic%
'text:basic-creation)
|#
(test-creation 'frame:text%
'(editor:file-mixin text:keymap%)
'editor:file-mixin-creation)
(test-creation 'frame:text%
'text:file%
'text:file-creation)
(test-creation 'frame:text%
'(text:clever-file-format-mixin text:file%)
'text:clever-file-format-mixin-creation)
(test-creation 'frame:text%
'text:clever-file-format%
'text:clever-file-format-creation)
(test-creation 'frame:text%
'(editor:backup-autosave-mixin text:clever-file-format%)
'editor:backup-autosave-mixin-creation)
(test-creation 'frame:text%
'text:backup-autosave%
'text:backup-autosave-creation)
(test-creation 'frame:text%
'(text:searching-mixin text:backup-autosave%)
'text:searching-mixin-creation)
(test-creation 'frame:text%
'text:searching%
'text:searching-creation)
(test-creation '(frame:searchable-mixin frame:text%)
'(text:info-mixin (editor:info-mixin text:searching%))
'text:info-mixin-creation)
(test-creation '(frame:searchable-mixin frame:text%)
'text:info%
'text:info-creation))