32 lines
820 B
Racket
32 lines
820 B
Racket
#lang racket/base
|
|
|
|
(require rackunit
|
|
racket/file
|
|
"../main.rkt")
|
|
|
|
(define tmp (make-temporary-file "simple-ini-private-~a.ini"))
|
|
(dynamic-wind
|
|
void
|
|
(lambda ()
|
|
(define ini (make-ini))
|
|
(ini-set! ini 'secret 'token "abc")
|
|
(ini->file ini tmp #:private? #t)
|
|
(when (memq (system-type 'os) '(unix macosx))
|
|
(check-equal? (bitwise-and (file-or-directory-permissions tmp 'bits) #o777)
|
|
#o600)))
|
|
(lambda ()
|
|
(when (file-exists? tmp)
|
|
(delete-file tmp))))
|
|
|
|
(define tmp-dir
|
|
(make-temporary-file "simple-ini-parent-~a" 'directory))
|
|
(define nested-file
|
|
(build-path tmp-dir "preferences" "simple-ini.ini"))
|
|
(dynamic-wind
|
|
void
|
|
(lambda ()
|
|
(ini->file (make-ini) nested-file)
|
|
(check-true (file-exists? nested-file)))
|
|
(lambda ()
|
|
(delete-directory/files tmp-dir)))
|