yesod-transloadit 0.5.0.0 → 0.6.0.0
raw patch · 3 files changed
+24/−20 lines, 3 filesdep +network-uriPVP ok
version bump matches the API change (PVP)
Dependencies added: network-uri
API changes (from Hackage documentation)
- Yesod.Transloadit: sslUrl :: Lens' StepResult Text
+ Yesod.Transloadit: sslUrl :: Lens' StepResult (Maybe URI)
- Yesod.Transloadit: url :: Lens' StepResult Text
+ Yesod.Transloadit: url :: Lens' StepResult (Maybe URI)
Files
- src/Yesod/Transloadit.hs +6/−4
- test/Tests.hs +4/−3
- yesod-transloadit.cabal +14/−13
src/Yesod/Transloadit.hs view
@@ -51,6 +51,7 @@ import Data.Text import Data.Text.Encoding import Data.Time+import Network.URI import Text.Julius import Yesod hiding (Key) import Yesod.Form.Jquery (YesodJquery (..))@@ -89,8 +90,8 @@ _extension :: Text, _mime :: Maybe Type, _field :: Text,- _url :: Text,- _sslUrl :: Text+ _url :: Maybe URI,+ _sslUrl :: Maybe URI } deriving (Show) $(makeLenses ''StepResult)@@ -176,11 +177,12 @@ <*> v "ext" <*> (parseMIMEType <$> v "mime") <*> v "field"- <*> v "url"- <*> v "ssl_url"+ <*> (toURI <$> v "url")+ <*> (toURI <$> v "ssl_url") where v s = case HM.lookup s hm of (Just (String t)) -> Just t _ -> Nothing+ toURI = parseURI . unpack -- | Helper method to pull the nth @StepResult@ for a given key from the Transloadit response nthStepResult :: AsValue s => Int -> Text -> Maybe s -> Maybe StepResult
test/Tests.hs view
@@ -11,6 +11,7 @@ import Data.Map import Data.Maybe import Data.Text+import Network.URI import System.Locale import Test.Hspec import Yesod hiding (Key, get)@@ -61,7 +62,7 @@ sampleDict :: Map Text (Map Text [Map Text Text]) sampleDict = fromList [("results", results)] where results = fromList [("foo", stepResults)]- stepResults = [fromList [("id","<id>"), ("name", "n"), ("basename", "b"), ("ext", "e"), ("mime", "text/plain"), ("field", "f"), ("url", "u"), ("ssl_url", "<ssl_url>")]]+ stepResults = [fromList [("id","<id>"), ("name", "n"), ("basename", "b"), ("ext", "e"), ("mime", "text/plain"), ("field", "f"), ("url", "http://foo.com"), ("ssl_url", "https://foo.com")]] sampleResult = fromJust $ nthStepResult 0 "foo" (return $ encode sampleDict) @@ -81,13 +82,13 @@ get HomeR bodyContains "<script src=\"https://assets.transloadit.com/js/jquery.transloadit2-v2-latest.js\"></script>" ydescribe "Response parsing" $ do- yit "grabs ssl_url" $ assertEqual "ssl_url" (sampleResult ^. sslUrl) ("<ssl_url>" :: Text)+ yit "grabs ssl_url" $ assertEqual "ssl_url" (sampleResult ^. sslUrl) (parseURI "https://foo.com") yit "grabs id" $ assertEqual "id" (sampleResult ^. resultId) ("<id>" :: Text) yit "grabs name" $ assertEqual "name" (sampleResult ^. name) ("n" :: Text) yit "grabs basename" $ assertEqual "basename" (sampleResult ^. baseName) ("b" :: Text) yit "grabs extension" $ assertEqual "ext" (sampleResult ^. extension) ("e" :: Text) yit "grabs mime" $ assertEqual "mime" (sampleResult ^. mime) (parseMIMEType "text/plain") yit "grabs field" $ assertEqual "field" (sampleResult ^. field) ("f" :: Text)- yit "grabs url" $ assertEqual "url" (sampleResult ^. url) ("u" :: Text)+ yit "grabs url" $ assertEqual "url" (sampleResult ^. url) (parseURI "http://foo.com") main = hspec formGenSpecs
yesod-transloadit.cabal view
@@ -1,5 +1,5 @@ name: yesod-transloadit-version: 0.5.0.0+version: 0.6.0.0 synopsis: Transloadit support for Yesod description: Drop in Transloadit capabilites for Yesod web apps license: MIT@@ -36,6 +36,7 @@ , lens-aeson , unordered-containers , mime+ , network-uri hs-source-dirs: src default-language: Haskell2010@@ -45,17 +46,17 @@ type: exitcode-stdio-1.0 main-is: Tests.hs hs-source-dirs: test-- build-depends: base,- yesod-transloadit,- yesod-test,- hspec,- yesod,- yesod-form,- old-locale,- text,- aeson,- containers,- mime+ build-depends: base+ , yesod-transloadit+ , yesod-test+ , hspec+ , yesod+ , yesod-form+ , old-locale+ , text+ , aeson+ , containers+ , mime+ , network-uri default-language: Haskell2010