add tests for prefix-in
, etc.
This commit is contained in:
parent
06d76961e5
commit
6d9c49485b
|
@ -142,6 +142,44 @@
|
||||||
|
|
||||||
(test 5 dynamic-require ''_shadow_ 'car)
|
(test 5 dynamic-require ''_shadow_ 'car)
|
||||||
|
|
||||||
|
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
|
(let ()
|
||||||
|
(define (do-try export import ref val)
|
||||||
|
(parameterize ([current-namespace (make-base-namespace)])
|
||||||
|
(eval `(module a racket/base
|
||||||
|
(define x 'x)
|
||||||
|
(define y 'y)
|
||||||
|
(provide ,export)))
|
||||||
|
(eval `(module b racket/base
|
||||||
|
(require ,import)
|
||||||
|
(define result ,ref)
|
||||||
|
(provide result)))
|
||||||
|
(test val dynamic-require ''b 'result)))
|
||||||
|
(define-syntax try
|
||||||
|
(syntax-rules (=>)
|
||||||
|
[(_ export import ref => val)
|
||||||
|
(do-try 'export 'import 'ref val)]))
|
||||||
|
|
||||||
|
(try x 'a x => 'x)
|
||||||
|
(try y 'a y => 'y)
|
||||||
|
(try (combine-out x y) 'a x => 'x)
|
||||||
|
(try (combine-out x y) 'a y => 'y)
|
||||||
|
|
||||||
|
(try (combine-out x y) (only-in 'a x) x => 'x)
|
||||||
|
(try (combine-out x y) (only-in 'a [x y]) y => 'x)
|
||||||
|
|
||||||
|
(try (rename-out [x y]) 'a y => 'x)
|
||||||
|
|
||||||
|
(try x (prefix-in a: 'a) a:x => 'x)
|
||||||
|
(try x (prefix-in |a :| 'a) |a :x| => 'x)
|
||||||
|
(try x (prefix-in z. (prefix-in |a :| 'a)) |z.a :x| => 'x)
|
||||||
|
(try (prefix-out o: x) 'a o:x => 'x)
|
||||||
|
(try (prefix-out |o :| x) 'a |o :x| => 'x)
|
||||||
|
|
||||||
|
(try (prefix-out o: x) (prefix-in i. 'a) i.o:x => 'x)
|
||||||
|
(try (prefix-out |o :| x) (rename-in 'a [|o :x| ex]) ex => 'x))
|
||||||
|
|
||||||
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; Check namespace-attach-module:
|
;; Check namespace-attach-module:
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user