on master help sign in
Cleanup BaseUrl tests
commit47f4cec53b0c70d5c77974e55ddd67f940b6e91a authorJulian K. Arni <jkarni@gmail.com> dateWed 7 Oct 2015, 18:01 (11 years ago) parent59d8824
1 file changed+11−12
servant-client/test/Servant/Common/BaseUrlSpec.hs+11−12
servant-client/test/Servant/Common/BaseUrlSpec.hs+11−12
@@ -13,6 +13,7 @@ import Servant.Common.BaseUrl
1313
1414spec :: Spec
1515spec = do
16+ let parse = parseBaseUrl :: String -> Maybe BaseUrl
1617 describe "showBaseUrl" $ do
1718 it "shows a BaseUrl" $ do
1819 showBaseUrl (BaseUrl Http "foo.com" 80 "") `shouldBe` "http://foo.com"
@@ -30,33 +31,31 @@ spec = do
3031 describe "parseBaseUrl" $ do
3132 it "is total" $ do
3233 property $ \ string ->
33− deepseq (fmap show (parseBaseUrl string :: Maybe BaseUrl)) True
34+ deepseq (fmap show (parse string )) True
3435
3536 it "is the inverse of showBaseUrl" $ do
3637 property $ \ baseUrl ->
37− counterexample (showBaseUrl baseUrl) $
38− (parseBaseUrl (showBaseUrl baseUrl) :: Maybe BaseUrl) ===
39− Just baseUrl
38+ counterexample (showBaseUrl baseUrl) $ parse (showBaseUrl baseUrl) === Just baseUrl
4039
4140 context "trailing slashes" $ do
4241 it "allows trailing slashes" $ do
43− (parseBaseUrl "foo.com/" :: Maybe BaseUrl)`shouldBe` Just (BaseUrl Http "foo.com" 80 "")
42+ parse "foo.com/" `shouldBe` Just (BaseUrl Http "foo.com" 80 "")
4443
4544 it "allows trailing slashes in paths" $ do
46− (parseBaseUrl "foo.com/api/" :: Maybe BaseUrl) `shouldBe` Just (BaseUrl Http "foo.com" 80 "api")
45+ parse "foo.com/api/" `shouldBe` Just (BaseUrl Http "foo.com" 80 "api")
4746
4847 context "urls without scheme" $ do
4948 it "assumes http" $ do
50− (parseBaseUrl "foo.com" :: Maybe BaseUrl) `shouldBe` Just (BaseUrl Http "foo.com" 80 "")
49+ parse "foo.com" `shouldBe` Just (BaseUrl Http "foo.com" 80 "")
5150
5251 it "allows port numbers" $ do
53− (parseBaseUrl "foo.com:8080" :: Maybe BaseUrl) `shouldBe` Just (BaseUrl Http "foo.com" 8080 "")
52+ parse "foo.com:8080" `shouldBe` Just (BaseUrl Http "foo.com" 8080 "")
5453
5554 it "can parse paths" $ do
56− (parseBaseUrl "http://foo.com/api" :: Maybe BaseUrl) `shouldBe` Just (BaseUrl Http "foo.com" 80 "api")
55+ parse "http://foo.com/api" `shouldBe` Just (BaseUrl Http "foo.com" 80 "api")
5756
5857 it "rejects ftp urls" $ do
59− (parseBaseUrl "ftp://foo.com" :: Maybe BaseUrl) `shouldBe` Nothing
58+ (parse "ftp://foo.com") `shouldBe` Nothing
6059
6160instance Arbitrary BaseUrl where
6261 arbitrary = BaseUrl <$>
@@ -71,8 +70,8 @@ instance Arbitrary BaseUrl where
7170 hostNameGen = do
7271 first <- elements letters
7372 middle <- listOf1 $ elements (letters ++ ['0' .. '9'] ++ ['.', '-'])
74− last <- elements letters
75− return (first : middle ++ [last])
73+ last' <- elements letters
74+ return (first : middle ++ [last'])
7675 portGen = frequency $
7776 (1, return 80) :
7877 (1, return 443) :