1
{-# LANGUAGE OverloadedStrings #-}
2
module Network.Wai.TestSpec (main, spec) where
7
import Network.Wai.Test
14
describe "setPath" $ do
16
let req = setPath defaultRequest "/foo/bar/baz?foo=23&bar=42&baz"
18
it "sets pathInfo" $ do
19
pathInfo req `shouldBe` ["foo", "bar", "baz"]
22
pathInfo (setPath defaultRequest "/foo/%D7%A9%D7%9C%D7%95%D7%9D/bar") `shouldBe`
23
["foo", "שלום", "bar"]
25
it "sets rawPathInfo" $ do
26
rawPathInfo req `shouldBe` "/foo/bar/baz"
28
it "sets queryString" $ do
29
queryString req `shouldBe` [("foo", Just "23"), ("bar", Just "42"), ("baz", Nothing)]
31
it "sets rawQueryString" $ do
32
rawQueryString req `shouldBe` "?foo=23&bar=42&baz"
34
context "when path has no query string" $ do
35
it "sets rawQueryString to empty string" $ do
36
rawQueryString (setPath defaultRequest "/foo/bar/baz") `shouldBe` ""