packages feed

aeson-qq 0.8.1 → 0.8.2

raw patch · 3 files changed

+76/−23 lines, 3 filesdep ~aesondep ~haskell-src-metaPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: aeson, haskell-src-meta

API changes (from Hackage documentation)

Files

aeson-qq.cabal view
@@ -1,5 +1,9 @@+-- This file has been generated from package.yaml by hpack version 0.18.0.+--+-- see: https://github.com/sol/hpack+ name:             aeson-qq-version:          0.8.1+version:          0.8.2 synopsis:         JSON quasiquoter for Haskell description:      @aeson-qq@ provides a JSON quasiquoter for Haskell.                   .@@ -10,30 +14,31 @@                   >aesonQQ :: QuasiQuoter                   .                   Consult the @README@ for documentation:-                  <https://github.com/zalora/aeson-qq#readme>--homepage:         http://github.com/zalora/aeson-qq+                  <https://github.com/sol/aeson-qq#readme>+homepage:         https://github.com/sol/aeson-qq#readme+bug-reports:      https://github.com/sol/aeson-qq/issues license:          MIT license-file:     LICENSE author:           Oscar Finnsson maintainer:       Simon Hengel <sol@typeful.net> category:         JSON build-type:       Simple-cabal-version:    >= 1.8+cabal-version:    >= 1.10  source-repository head   type: git-  location: https://github.com/zalora/aeson-qq/+  location: https://github.com/sol/aeson-qq  library-  ghc-options:-      -Wall+  ghc-options: -Wall   hs-source-dirs:       src   exposed-modules:       Data.Aeson.QQ   other-modules:       Data.JSON.QQ+      Paths_aeson_qq+  default-language: Haskell2010   build-depends:       base >= 4.5 && < 5     , base-compat@@ -47,17 +52,19 @@     , haskell-src-meta >= 0.1.0  test-suite spec-  type:-      exitcode-stdio-1.0-  ghc-options:-      -Wall+  type: exitcode-stdio-1.0+  ghc-options: -Wall   hs-source-dirs:-      src, test-  main-is:-      Spec.hs+      src+      test+  main-is: Spec.hs   other-modules:-      Person+      Data.Aeson.QQ+      Data.JSON.QQ       Data.Aeson.QQSpec+      Data.JSON.QQSpec+      Person+  default-language: Haskell2010   build-depends:       base >= 4.5 && < 5     , base-compat@@ -65,13 +72,9 @@     , attoparsec     , scientific     , vector-    , aeson+    , aeson >= 0.6     , parsec     , template-haskell-    , haskell-src-meta--    , aeson+    , haskell-src-meta >= 0.1.0     , hspec--    -- Neded for GHC 7.4.*     , ghc-prim
src/Data/Aeson/QQ.hs view
@@ -1,5 +1,5 @@ {-# LANGUAGE TemplateHaskell #-}--- | Have a look at the <https://github.com/zalora/aeson-qq#readme README> for+-- | Have a look at the <https://github.com/sol/aeson-qq#readme README> for -- documentation. module Data.Aeson.QQ (aesonQQ) where 
+ test/Data/JSON/QQSpec.hs view
@@ -0,0 +1,50 @@+{-# LANGUAGE OverloadedStrings #-}+module Data.JSON.QQSpec (main, spec) where++import           Test.Hspec++import           Data.JSON.QQ++main :: IO ()+main = hspec spec++spec :: Spec+spec = do+  describe "parsedJson" $ do+    it "parses JSON" $ do+      let Right value = parsedJson "{foo: 23}"+      value `shouldBe` JsonObject [(HashStringKey "foo", JsonNumber 23)]++    it "parses decimal numbers" $ do+      let Right value = parsedJson "{foo: 5.97}"+      value `shouldBe` JsonObject [(HashStringKey "foo", JsonNumber 5.97)]++    context "empty objects" $ do+      it "parses empty objects (regression test)" $ do+        let Right value = parsedJson "{}"+        value `shouldBe` JsonObject []++      it "parses empty objects that include whitespace (regression test)" $ do+        let Right value = parsedJson "{ }"+        value `shouldBe` JsonObject []++      it "parses empty objects that include newlines (regression test)" $ do+        let Right value = parsedJson "{\n}"+        value `shouldBe` JsonObject []++    context "empty arrays" $ do+      it "parses empty arrays" $ do+        let Right value = parsedJson "[   ]"+        value `shouldBe` JsonArray []++      it "parses empty arrays that include whitespace (regression test)" $ do+        let Right value = parsedJson "[   ]"+        value `shouldBe` JsonArray []++      it "parses empty objects that include newlines (regression test)" $ do+        let Right value = parsedJson "[\n]"+        value `shouldBe` JsonArray []++    it "fails on excess input" $ do+      let Left err = parsedJson "{foo: 23} some excess input"+      show err `shouldBe` "\"txt\" (line 1, column 11):\nunexpected 's'\nexpecting space or end of input"