purescript-httpurple/test/Test/HTTPurple/VersionSpec.purs
2022-05-22 12:48:32 +01:00

67 lines
1.9 KiB
Haskell

module Test.HTTPurple.VersionSpec where
import Prelude
import HTTPurple.Version
( Version(HTTP0_9, HTTP1_0, HTTP1_1, HTTP2_0, HTTP3_0, Other)
, read
)
import Test.HTTPurple.TestHelpers (Test, mockRequest, (?=))
import Test.Spec (describe, it)
showSpec :: Test
showSpec =
describe "show" do
describe "with an HTTP0_9" do
it "is 'HTTP0_9'" do
show HTTP0_9 ?= "HTTP/0.9"
describe "with an HTTP1_0" do
it "is 'HTTP1_0'" do
show HTTP1_0 ?= "HTTP/1.0"
describe "with an HTTP1_1" do
it "is 'HTTP1_1'" do
show HTTP1_1 ?= "HTTP/1.1"
describe "with an HTTP2_0" do
it "is 'HTTP2_0'" do
show HTTP2_0 ?= "HTTP/2.0"
describe "with an HTTP3_0" do
it "is 'HTTP3_0'" do
show HTTP3_0 ?= "HTTP/3.0"
describe "with an Other" do
it "is 'Other'" do
show (Other "version") ?= "HTTP/version"
readSpec :: Test
readSpec =
describe "read" do
describe "with an 'HTTP0_9' Request" do
it "is HTTP0_9" do
request <- mockRequest "0.9" "" "" "" []
read request ?= HTTP0_9
describe "with an 'HTTP1_0' Request" do
it "is HTTP1_0" do
request <- mockRequest "1.0" "" "" "" []
read request ?= HTTP1_0
describe "with an 'HTTP1_1' Request" do
it "is HTTP1_1" do
request <- mockRequest "1.1" "" "" "" []
read request ?= HTTP1_1
describe "with an 'HTTP2_0' Request" do
it "is HTTP2_0" do
request <- mockRequest "2.0" "" "" "" []
read request ?= HTTP2_0
describe "with an 'HTTP3_0' Request" do
it "is HTTP3_0" do
request <- mockRequest "3.0" "" "" "" []
read request ?= HTTP3_0
describe "with an 'Other' Request" do
it "is Other" do
request <- mockRequest "version" "" "" "" []
read request ?= Other "version"
versionSpec :: Test
versionSpec =
describe "Version" do
showSpec
readSpec