Files
simple-ini/tests/private.rkt
T

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)))