Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 8 additions & 9 deletions drracket-core-lib/browser/external.rkt
Original file line number Diff line number Diff line change
Expand Up @@ -183,11 +183,11 @@
[parent h-panel]
[callback
(lambda (radio event)
(let ([n (send radio get-selection)])
(set-browser! (cond
[(= n none-index) #f]
[(= n custom-index) (get-custom)]
[else (list-ref raw:unix-browser-list n)]))))])]
(define n (send radio get-selection))
(set-browser! (cond
[(= n none-index) #f]
[(= n custom-index) (get-custom)]
[else (list-ref raw:unix-browser-list n)])))])]
[select-custom (lambda (_ __)
(send r set-selection custom-index)
(set-browser! (get-custom)))]
Expand Down Expand Up @@ -219,11 +219,10 @@
[n 0])
(cond
[(null? x) (send r set-selection n)]
[(eq? pref (car x)) (send r set-selection n)]
[else
(if (eq? pref (car x))
(send r set-selection n)
(init (cdr x)
(add1 n)))]))]))])
(init (cdr x)
(add1 n))]))]))])

(unless ask-later?
(send r enable none-index #f))
Expand Down
76 changes: 37 additions & 39 deletions drracket-test/tests/drracket/private/drracket-test-util.rkt
Original file line number Diff line number Diff line change
Expand Up @@ -89,12 +89,12 @@
(define (wait-for-drracket-frame [print-message? #f])
(define (wait-for-drracket-frame-pred)
(define active (fw:test:get-active-top-level-window))
(and (and active (drracket-frame? active)) active))
(and active (drracket-frame? active) active))
(define drr-fr
(or (wait-for-drracket-frame-pred)
(begin
(when print-message?
(printf "Select DrRacket frame\n"))
(displayln "Select DrRacket frame"))
(poll-until wait-for-drracket-frame-pred))))
(when drr-fr
(wait-for-events-in-frame-eventspace drr-fr))
Expand All @@ -112,7 +112,7 @@
(for/or ([eventspace (in-list extra-eventspaces)])
(parameterize ([current-eventspace eventspace])
(fw:test:get-active-top-level-window)))))
(and (and active (not (eq? active old-frame))) active))
(and active (not (eq? active old-frame)) active))
(define lab (send old-frame get-label))
(define fr (poll-until
(procedure-rename wait-for-new-frame-pred
Expand Down Expand Up @@ -163,10 +163,10 @@
(define (do-execute frame [wait-for-finish? #t])
(not-on-eventspace-handler-thread 'do-execute)
(queue-callback/res (λ () (verify-drracket-frame-frontmost 'do-execute frame)))
(let ([button (queue-callback/res (λ () (send frame get-execute-button)))])
(fw:test:run-one (lambda () (send button command)))
(when wait-for-finish?
(wait-for-computation frame))))
(define button (queue-callback/res (λ () (send frame get-execute-button))))
(fw:test:run-one (lambda () (send button command)))
(when wait-for-finish?
(wait-for-computation frame)))

(define (verify-drracket-frame-frontmost function-name frame)
(on-eventspace-handler-thread 'verify-drracket-frame-frontmost)
Expand Down Expand Up @@ -206,25 +206,26 @@
(unless (and (object? frame) (is-a? frame top-level-window<%>))
(error who "expected a frame or a dialog as the first argument, got ~e" frame))
(define str
(if (string? str/sexp)
str/sexp
(let ([port (open-output-string)])
(parameterize ([current-output-port port])
(write str/sexp port))
(get-output-string port))))
(cond
[(string? str/sexp) str/sexp]
[else
(define port (open-output-string))
(parameterize ([current-output-port port])
(write str/sexp port))
(get-output-string port)]))
(queue-callback/res (λ () (verify-drracket-frame-frontmost who frame)))
(define canvas (queue-callback/res (λ () (get-canvas frame))))
(fw:test:new-window canvas)
(define editor (queue-callback/res (λ () (send canvas get-editor))))
(cond
[just-insert?
(let ([s (make-semaphore 0)])
(queue-callback (λ ()
(send editor set-caret-owner #f)
(send editor insert str)
(semaphore-post s)))
(unless (sync/timeout 3 s)
(error who "callback didn't run for 3 seconds; trying to insert ~s" str/sexp)))]
(define s (make-semaphore 0))
(queue-callback (λ ()
(send editor set-caret-owner #f)
(send editor insert str)
(semaphore-post s)))
(unless (sync/timeout 3 s)
(error who "callback didn't run for 3 seconds; trying to insert ~s" str/sexp))]
[else
(queue-callback/res (λ () (send editor set-caret-owner #f)))
(type-string str)]))
Expand All @@ -249,14 +250,14 @@
(loop (+ i 1)))))

(define (wait test desc-string [time 5])
(let ([int 1/2])
(let loop ([sofar 0])
(cond
[(> sofar time) (error 'wait desc-string)]
[(test) (void)]
[else
(sleep int)
(loop (+ sofar int))]))))
(define int 1/2)
(let loop ([sofar 0])
(cond
[(> sofar time) (error 'wait desc-string)]
[(test) (void)]
[else
(sleep int)
(loop (+ sofar int))])))

(define (wait-pending)
(wait (lambda () (= 0 (fw:test:number-pending-actions)))
Expand Down Expand Up @@ -300,11 +301,8 @@

(define (wait-for-button button)
(not-on-eventspace-handler-thread 'wait-for-button)
(poll-until
(let ([wait-for-button-pred
(lambda ()
(queue-callback/res (λ () (send button is-enabled?))))])
wait-for-button-pred)))
(define wait-for-button-pred (lambda () (queue-callback/res (λ () (send button is-enabled?)))))
(poll-until wait-for-button-pred))

(define (push-button-and-wait button)
(not-on-eventspace-handler-thread 'push-button-and-wait)
Expand Down Expand Up @@ -421,12 +419,12 @@

(when close-dialog?
(fw:test:button-push "OK")
(let ([new-frame (wait-for-new-frame language-dialog)])
(unless (eq? new-frame drs-frame)
(error 'set-module-language!
"didn't get drracket frame back, got: ~s (drs-frame ~s)\n"
new-frame
drs-frame)))))
(define new-frame (wait-for-new-frame language-dialog))
(unless (eq? new-frame drs-frame)
(error 'set-module-language!
"didn't get drracket frame back, got: ~s (drs-frame ~s)\n"
new-frame
drs-frame))))

(provide (contract-out [check-language-level ((or/c string? regexp?) . -> . void?)]))
;; checks that the language in the drracket window is set to the given one.
Expand Down
2 changes: 1 addition & 1 deletion drracket-test/tests/drracket/private/easter-egg-lib.rkt
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ and then loading the framework after that.
(define drr-frame (wait-for-drracket-frame))
(set-module-language! drr-frame)
(queue-callback/res
(λ () (send (send (send drr-frame get-definitions-text) get-canvas) focus)))
(λ () (send+ drr-frame (get-definitions-text) (get-canvas) (focus))))
(for ([x (in-string "(car 'x)")])
(test:keystroke x))
(let ([button (queue-callback/res (λ () (send drr-frame get-execute-button)))])
Expand Down
Loading
Loading