Skip to content

Commit

Permalink
add a message when trying to enable/disable tests for a language that
Browse files Browse the repository at this point in the history
isn't a teaching language
  • Loading branch information
rfindler committed Jul 28, 2016
1 parent a9e7cd7 commit 491e803
Show file tree
Hide file tree
Showing 4 changed files with 35 additions and 20 deletions.
2 changes: 1 addition & 1 deletion htdp-lib/info.rkt
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
"slideshow-lib"
"snip-lib"
"srfi-lite-lib"
"string-constants-lib"
["string-constants-lib" #:version "1.13"]
"typed-racket-lib"
"typed-racket-more"
"web-server-lib"
Expand Down
14 changes: 14 additions & 0 deletions htdp-lib/lang/htdp-langs-interface.rkt
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#lang racket/base
(require racket/class)
(provide htdp-language<%>)

(define htdp-language<%>
(interface ()
get-module
get-language-position
get-sharing-printing
get-abbreviate-cons-as-list
get-allow-sharing?
get-use-function-output-syntax?
get-accept-quasiquote?
get-read-accept-dot))
12 changes: 1 addition & 11 deletions htdp-lib/lang/htdp-langs.rkt
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
lang/debugger-language-interface
"run-teaching-program.rkt"
"htdp-langs-save-file-prefix.rkt"
"htdp-langs-interface.rkt"

(only-in test-engine/scheme-gui make-formatter)
(only-in test-engine/racket-tests
Expand Down Expand Up @@ -59,17 +60,6 @@

(define image-string "<image>")

(define htdp-language<%>
(interface ()
get-module
get-language-position
get-sharing-printing
get-abbreviate-cons-as-list
get-allow-sharing?
get-use-function-output-syntax?
get-accept-quasiquote?
get-read-accept-dot))

;; module-based-language-extension : (implements drscheme:language:module-based-language<%>)
;; -> (implements drscheme:language:module-based-language<%>)
;; changes the default settings and sets a few more paramters during `on-execute'
Expand Down
27 changes: 19 additions & 8 deletions htdp-lib/test-engine/test-tool.scm
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#lang scheme/base

(require scheme/file scheme/class scheme/unit scheme/contract drscheme/tool framework mred
string-constants)
string-constants lang/htdp-langs-interface)
(require "test-display.scm")
(provide tool@)

Expand Down Expand Up @@ -149,13 +149,24 @@
(preferences:set 'test-engine:enable? #f)))
(super-instantiate ()))]
[enable? (preferences:get 'test-engine:enable?)]
[enable-menu-item (make-object enable-menu-item%
(if enable? disable-label enable-label)
language-menu
(lambda (_1 _2)
(if (send _1 is-test-enabled?)
(send _1 disable-tests)
(send _1 enable-tests))) #f)])
[enable-menu-item
(make-object enable-menu-item%
(if enable? disable-label enable-label)
language-menu
(λ (menu-item _2)
(cond
[(is-a? (drscheme:language-configuration:language-settings-language
(send (get-definitions-text) get-next-settings))
htdp-language<%>)
(if (send menu-item is-test-enabled?)
(send menu-item disable-tests)
(send menu-item enable-tests))]
[else
(message-box
(string-constant drracket)
(string-constant
test-engine-enable-disable-tests-only-in-teaching-languages))]))
#f)])

(send enable-menu-item set-test-enabled?! enable?)
(register-capability-menu-item 'tests:test-menu language-menu))))
Expand Down

0 comments on commit 491e803

Please sign in to comment.