ja
This commit is contained in:
+45
-32
@@ -1,39 +1,52 @@
|
||||
#lang racket/base
|
||||
|
||||
(require rackunit
|
||||
"../main.rkt")
|
||||
racket/port
|
||||
"../mimetypes.rkt"
|
||||
"../private/mime-types.rkt")
|
||||
|
||||
(check-equal? (mimetype-for-ext 'html) "text/html")
|
||||
(check-equal? (mimetype-for-ext "MP3") "audio/mpeg")
|
||||
(check-equal? (mimetype-for-ext ".FLAC") "audio/flac")
|
||||
(check-equal? (mimetype-for-ext "c:/music/track.MP4") "video/mp4")
|
||||
(check-equal? (mimetype-for-ext "c:\\music\\track.MP4") "video/mp4")
|
||||
(check-equal? (mimetype-for-ext (string->path "/music/track.opus")) "audio/ogg")
|
||||
(define sample-types
|
||||
(string-append
|
||||
"# comment\n"
|
||||
"text/plain txt text\n"
|
||||
"audio/mpeg mp3\n"
|
||||
"# application/example\n"))
|
||||
|
||||
(check-equal? (mimetype-for-ext "track.mp4" #:context 'video) "video/mp4")
|
||||
(check-equal? (mimetype-for-ext "track.mp4" #:context 'audio) "audio/mp4")
|
||||
(check-equal? (mimetype-for-ext "track.mp4" #:context 'application) "application/mp4")
|
||||
(check-equal? (mimetype-for-ext "track.mp4" #:context 'image)
|
||||
"application/octet-stream")
|
||||
(define parsed
|
||||
(call-with-input-string sample-types parse-mime-types))
|
||||
|
||||
(check-equal? (mimetype-for-ext "unknown") "application/octet-stream")
|
||||
(check-equal? (mimetype-for-ext "unknown" #:default "text/plain") "text/plain")
|
||||
(check-equal? (hash-ref parsed 'txt) "text/plain")
|
||||
(check-equal? (hash-ref parsed 'text) "text/plain")
|
||||
(check-equal? (hash-ref parsed 'mp3) "audio/mpeg")
|
||||
|
||||
(check-equal? (mimetype-for-ext "xml") "application/xml")
|
||||
(check-equal? (mimetype-for-ext "m4a") "audio/mp4")
|
||||
(check-equal? (mimetype-for-ext "mka") "audio/matroska")
|
||||
(check-equal? (mimetype-for-ext "mkv") "video/matroska")
|
||||
(check-equal? (mimetype-for-ext "ogg") "audio/ogg")
|
||||
(check-equal? (mimetype-for-ext "md") "text/markdown")
|
||||
(check-equal? (mimetype-for-ext "js") "text/javascript")
|
||||
(check-equal? (mimetype-for-ext "woff2") "font/woff2")
|
||||
(check-equal? (mimetype-for-ext "heic") "image/heic")
|
||||
(check-equal? (mimetype-for-ext "jxl") "image/jxl")
|
||||
(check-equal? (mimetype-for-ext "zst") "application/zstd")
|
||||
(check-equal? (mimetype-for-ext "mov") "video/quicktime")
|
||||
(check-equal? (mimetype-for-ext "tif") "image/tiff")
|
||||
(check-equal? (mimetype-for-ext "htm") "text/html")
|
||||
(check-equal? (mimetype-for-ext "m2ts") "video/mp2t")
|
||||
(check-equal? (mimetype-for-ext "123") "application/vnd.lotus-1-2-3")
|
||||
(check-equal? (mimetype-for-ext "java") "text/x-java-source")
|
||||
(check-equal? (mimetype-for-ext "ccxml") "application/ccxml+xml")
|
||||
(define duplicate-extension
|
||||
(call-with-input-string
|
||||
(string-append
|
||||
"application/x-ms-wmz wmz\n"
|
||||
"application/x-msmetafile wmf wmz emf emz\n")
|
||||
parse-mime-types))
|
||||
|
||||
(check-equal? (hash-ref duplicate-extension 'wmz)
|
||||
"application/x-msmetafile")
|
||||
|
||||
(parameterize ([updates-enabled? #f])
|
||||
(check-equal? (mimetype-for-ext 'MP3) "audio/mpeg")
|
||||
(check-equal? (mimetype-for-ext ".MP3") "audio/mpeg")
|
||||
(check-equal? (mimetype-for-ext "track.MP3") "audio/mpeg")
|
||||
(check-equal? (mimetype-for-ext "/music/track.MP3") "audio/mpeg")
|
||||
(check-equal? (mimetype-for-ext (string->path "track.MP3"))
|
||||
"audio/mpeg")
|
||||
(check-equal? (mimetype-for-ext "track.opus") "audio/ogg")
|
||||
(check-equal? (mimetype-for-ext "movie.mp4") "video/mp4")
|
||||
(check-equal? (mimetype-for-ext "unknown"
|
||||
#:default "unknown/type")
|
||||
"unknown/type"))
|
||||
|
||||
(check-false
|
||||
(update-due?/times 1000 (- 1000 success-interval -1) #f))
|
||||
(check-true
|
||||
(update-due?/times 1000 (- 1000 success-interval 1) #f))
|
||||
(check-false
|
||||
(update-due?/times 1000 #f (- 1000 failure-interval -1)))
|
||||
(check-true
|
||||
(update-due?/times 1000 #f (- 1000 failure-interval 1)))
|
||||
|
||||
Reference in New Issue
Block a user