-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Generator and shrink functions for testing
-- Unicode-related software.
--
-- Generator and shrink functions for testing Unicode-related software.
@package quickcheck-unicode
@version 1.0.1.0
-- | QuickCheck Generator and shrink functions for testing software that
-- uses Unicode data.
--
-- The default Arbitrary instance for the Char type
-- intentionally generates only ASCII values. This can lead to a false
-- sense of security in cases where Unicode compliance is required, as
-- encodings that span multiple bytes or code units will simply not be
-- exercised at all.
--
-- This module deliberately avoids using the text and
-- bytestring packages to avoid pulling in extra dependencies.
module Test.QuickCheck.Unicode
-- | A wrapper for Char and String, for which the
-- Arbitrary instance generates full-Unicode characters.
data Unicode a
-- | Generate a Unicode code point. This has a much larger range than the
-- default Arbitrary instance for Char.
char :: Gen Char
-- | Generate a list of Unicode code points.
string :: Gen String
-- | Generate a non-empty list of Unicode code points.
string1 :: Gen String
-- | Generate a list of values.
list :: Gen a -> Gen [a]
-- | Generate a non-empty list of values.
list1 :: Gen a -> Gen [a]
-- | A weighted list of generators that favours ASCII characters, followed
-- by planes 0 and 1.
planes :: [(Int, Gen Int)]
ascii :: Gen Int
-- | Basic Multilingual Plane.
plane0 :: Gen Int
-- | Supplementary Multilingual Plane.
plane1 :: Gen Int
-- | Supplementary Ideographic Plane.
plane2 :: Gen Int
-- | Supplementary Special-Purpose Plane.
plane14 :: Gen Int
-- | Indicate whether a code point is reserved.
reserved :: Int -> Bool
-- | Shrink a Unicode code point.
shrinkChar :: Char -> [Char]
instance GHC.Read.Read a => GHC.Read.Read (Test.QuickCheck.Unicode.Unicode a)
instance GHC.Show.Show a => GHC.Show.Show (Test.QuickCheck.Unicode.Unicode a)
instance GHC.Classes.Ord a => GHC.Classes.Ord (Test.QuickCheck.Unicode.Unicode a)
instance GHC.Classes.Eq a => GHC.Classes.Eq (Test.QuickCheck.Unicode.Unicode a)
instance Test.QuickCheck.Arbitrary.Arbitrary (Test.QuickCheck.Unicode.Unicode GHC.Types.Char)
instance Test.QuickCheck.Arbitrary.Arbitrary (Test.QuickCheck.Unicode.Unicode [GHC.Types.Char])