text-show-3.6.2: tests/Instances/Data/Text.hs
{-# 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.Foreign (I16)
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(..), arbitraryBoundedEnum)
import Test.QuickCheck.Instances ()
instance Arbitrary Builder where
arbitrary = fromString <$> arbitrary
instance Arbitrary I16 where
arbitrary = arbitraryBoundedEnum
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