1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
|
{-# LANGUAGE CPP #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE StandaloneDeriving #-}
{-# OPTIONS_GHC -fno-warn-deprecations #-}
{-# OPTIONS_GHC -fno-warn-orphans #-}
{-|
Module: Instances.Data.Text
Copyright: (C) 2014-2017 Ryan Scott
License: BSD-style (see the file LICENSE)
Maintainer: Ryan Scott
Stability: Provisional
Portability: GHC
'Arbitrary' instances for data types in the @text@ library.
-}
module Instances.Data.Text () where
import Data.Text.Encoding.Error (UnicodeException(..))
import Data.Text.Lazy.Builder (Builder, fromString)
#if MIN_VERSION_text(1,0,0)
import Data.Text.Encoding (Decoding(..))
import Instances.Utils ((<@>))
#endif
#if MIN_VERSION_text(1,1,0)
import Data.Text.Internal.Fusion.Size (Size, exactSize)
import Test.QuickCheck (getNonNegative)
#endif
import GHC.Generics (Generic)
import Instances.Utils.GenericArbitrary (genericArbitrary)
import Prelude ()
import Prelude.Compat
import Test.QuickCheck (Arbitrary(..))
import Test.QuickCheck.Instances ()
instance Arbitrary Builder where
arbitrary = fromString <$> arbitrary
instance Arbitrary UnicodeException where
arbitrary = genericArbitrary
#if MIN_VERSION_text(1,0,0)
instance Arbitrary Decoding where
arbitrary = Some <$> arbitrary <*> arbitrary <@> undefined
#endif
#if MIN_VERSION_text(1,1,0)
instance Arbitrary Size where
arbitrary = exactSize . getNonNegative <$> arbitrary
#endif
deriving instance Generic UnicodeException
|