This repository has been archived by the owner on Jul 23, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 65
/
test-rerequire.rkt
45 lines (36 loc) · 1.68 KB
/
test-rerequire.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
36
37
38
39
40
41
42
43
44
45
#lang at-exp racket/base
(require rackunit racket/runtime-path pollen/render racket/file racket/system pollen/setup)
;; define-runtime-path only allowed at top level
(define-runtime-path rerequire-dir "data/rerequire")
(define-runtime-path pollen.rkt "data/rerequire/pollen.rkt")
(define-runtime-path pre.txt.pp "data/rerequire/pre.txt.pp")
(define-runtime-path pre.txt "data/rerequire/pre.txt")
(define-runtime-path template.txt "data/rerequire/template.txt")
(define-runtime-path markup.txt.pm "data/rerequire/markup.txt.pm")
(define-runtime-path markup.txt "data/rerequire/markup.txt")
(define-runtime-path pollen-cache "data/rerequire/compiled")
(copy-file markup.txt.pm pre.txt.pp #t)
;; test makes sure that file render changes after pollen.rkt changes
(parameterize ([current-output-port (open-output-string)]
[current-directory rerequire-dir]
[current-project-root rerequire-dir]
[current-session-interactive? #true])
(display-to-file @string-append{#lang racket/base
(provide id)
(define (id) "first")} pollen.rkt #:exists 'replace)
(render-to-file-if-needed markup.txt.pm)
(check-equal? (file->string markup.txt) "first")
(render-to-file-if-needed pre.txt.pp)
(check-equal? (file->string pre.txt) "first")
(sleep 1)
(display-to-file @string-append{#lang racket/base
(provide id)
(define (id) "second")} pollen.rkt #:exists 'replace)
(render-to-file-if-needed markup.txt.pm)
(check-equal? (file->string markup.txt) "second")
(render-to-file-if-needed pre.txt.pp)
(check-equal? (file->string pre.txt) "second"))
(delete-file pre.txt.pp)
(delete-file pre.txt)
(delete-file markup.txt)
(delete-directory/files pollen-cache)