#lang racket/base (require rackunit racket-tray) ;; The public module must be loadable on every platform, even when no tray ;; backend is available for the current operating system. (check-true (procedure? mk-tray)) (check-true (procedure? tray-close)) (check-true (procedure? tray-set-icon!)) (check-true (procedure? tray-set-menu!)) ;; Keep the keyword part of the public API testable without constructing a GUI ;; window or depending on Windows being available on the package build host. (define-values (required-keywords allowed-keywords) (procedure-keywords mk-tray)) (check-equal? required-keywords '()) (check-not-false (member '#:hide-on-minimize? allowed-keywords))