request.scm 1.2 KB

123456789101112131415161718192021222324252627282930313233
  1. (use-modules (srfi srfi-64)
  2. (web uri)
  3. (gemini request))
  4. (test-begin "gemini-request")
  5. (test-group "build-gemini-request"
  6. (let* ((req (build-gemini-request #:host "localhost"))
  7. (uri (gemini-request-uri req)))
  8. (test-assert (gemini-request? req))
  9. (test-equal "gemini://localhost" (uri->string uri))
  10. (test-eq 'gemini (uri-scheme uri))
  11. (test-equal "localhost" (uri-host uri))
  12. (test-eq #f (uri-port uri))
  13. (test-equal "" (uri-path uri))
  14. (test-eq #f (uri-query uri))
  15. (test-eq #f (uri-fragment uri))))
  16. (test-group "read-gemini-request"
  17. (let* ((data "gemini://localhost\r\n")
  18. (req (call-with-input-string data read-gemini-request))
  19. (uri (gemini-request-uri req)))
  20. (test-equal "gemini://localhost" (uri->string uri))))
  21. (test-group "write-gemini-request"
  22. (let* ((req (build-gemini-request #:host "localhost"))
  23. (data (call-with-output-string
  24. (lambda (port)
  25. (write-gemini-request req port)))))
  26. (test-equal "gemini://localhost\r\n" data)))
  27. (test-end)