@@ -4,13 +4,11 @@ import Data.Aeson.Encode
44import Data.Aeson.Parser (value)
55import Data.Aeson.Types
66import Data.Attoparsec.Number
7−import Data.Data (Data)
87import Data.Int
98import Test.Framework (Test, defaultMain, testGroup)
109import Test.Framework.Providers.QuickCheck2 (testProperty)
1110import Test.QuickCheck (Arbitrary(..))
1211import qualified Data.Vector as V
13−import qualified Data.Aeson.Generic as G
1412import qualified Data.Attoparsec.Lazy as L
1513import qualified Data.ByteString.Lazy.Char8 as L
1614import qualified Data.Text as T
@@ -18,10 +16,11 @@ import qualified Data.Map as Map
1816import qualified Data.HashMap.Strict as H
1917import Data.Time.Clock (UTCTime(..))
2018import Data.Time (ZonedTime(..))
21−import Types (Foo(..), UFoo(..))
19+import Types (Foo(..))
2220import Instances ()
2321import Types (Approx(..), OneConstructor(..), Product2, Product6, Sum4)
2422import Encoders
23+import Properties.Deprecated (deprecatedTests)
2524
2625
2726encodeDouble :: Double -> Double -> Bool
@@ -48,26 +47,11 @@ roundTrip eq _ i =
4847roundTripEq :: (Eq a, FromJSON a, ToJSON a) => a -> a -> Bool
4948roundTripEq x y = roundTrip (==) x y
5049
51−genericTo :: (Data a, ToJSON a) => a -> a -> Bool
52−genericTo _ v = G.toJSON v == toJSON v
53−
54−genericFrom :: (Eq a, Data a, ToJSON a) => a -> a -> Bool
55−genericFrom _ v = G.fromJSON (toJSON v) == Success v
56−
5750toFromJSON :: (Arbitrary a, Eq a, FromJSON a, ToJSON a) => a -> Bool
5851toFromJSON x = case fromJSON . toJSON $ x of
5952 Error _ -> False
6053 Success x' -> x == x'
6154
62−genericToFromJSON :: (Arbitrary a, Eq a, Data a) => a -> Bool
63−genericToFromJSON x = case G.fromJSON . G.toJSON $ x of
64− Error _ -> False
65− Success x' -> x == x'
66−
67−regress_gh72 :: [(String, Maybe String)] -> Bool
68−regress_gh72 ys = G.decode (G.encode m) == Just m
69− where m = Map.fromList ys
70−
7155modifyFailureProp :: String -> String -> Bool
7256modifyFailureProp orig added =
7357 result == Error (added ++ orig)
@@ -111,27 +95,10 @@ isObjectWithSingleField _ = False
11195
11296tests :: [Test]
11397tests = [
114− testGroup "regression" [
115− testProperty "gh-72" regress_gh72
116− ],
11798 testGroup "encode" [
11899 testProperty "encodeDouble" encodeDouble
119100 , testProperty "encodeInteger" encodeInteger
120101 ],
121− testGroup "genericFrom" [
122− testProperty "Bool" $ genericFrom True
123− , testProperty "Double" $ genericFrom (1::Double)
124− , testProperty "Int" $ genericFrom (1::Int)
125− , testProperty "Foo" $ genericFrom (undefined::Foo)
126− , testProperty "Maybe" $ genericFrom (Just 1 :: Maybe Int)
127− ],
128− testGroup "genericTo" [
129− testProperty "Bool" $ genericTo True
130− , testProperty "Double" $ genericTo (1::Double)
131− , testProperty "Int" $ genericTo (1::Int)
132− , testProperty "Foo" $ genericTo (undefined::Foo)
133− , testProperty "Maybe" $ genericTo (Just 1 :: Maybe Int)
134− ],
135102 testGroup "roundTrip" [
136103 testProperty "Bool" $ roundTripEq True
137104 , testProperty "Double" $ roundTripEq (1 :: Approx Double)
@@ -157,9 +124,7 @@ tests = [
157124 , testProperty "Either Integer Double" (toFromJSON :: Either Integer Double -> Bool)
158125 , testProperty "Either Integer Integer" (toFromJSON :: Either Integer Integer -> Bool)
159126 ],
160− testGroup "genericToFromJSON" [
161− testProperty "_UFoo" (genericToFromJSON :: UFoo -> Bool)
162− ],
127+ testGroup "deprecated" deprecatedTests,
163128 testGroup "failure messages" [
164129 testProperty "modify failure" modifyFailureProp
165130 ],