-
-
Notifications
You must be signed in to change notification settings - Fork 93
/
insert-large-letters-test.rkt
36 lines (33 loc) · 1.19 KB
/
insert-large-letters-test.rkt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#lang racket
(require tests/drracket/private/drracket-test-util
drracket/private/local-member-names
racket/gui/base
framework
rackunit
string-constants)
(fire-up-drracket-and-run-tests
(λ ()
(define drr (wait-for-drracket-frame))
(queue-callback/res (λ () (send (send drr get-definitions-canvas) focus)))
(test:menu-select "Insert" "Insert Large Letters…")
(define insert-frame (wait-for-new-frame drr))
(for ([c (in-string "TR Rulez!")])
(test:keystroke c))
(test:button-push "OK")
(wait-for-new-frame insert-frame)
(define defs-content
(queue-callback/res
(λ () (send (send drr get-definitions-text) get-text))))
(define semis (for/sum ([i (in-string defs-content)])
(if (equal? i #\;)
1
0)))
(define spaces (for/sum ([i (in-string defs-content)])
(if (equal? i #\space)
1
0)))
(unless (and (< 20 spaces)
(< 20 semis))
(error 'insert-large-letters-test.rkt
"expected more semis or spaces; definitions content was:\n~a"
defs-content))))