text-show 0.1.0.0 → 0.2.0.0
raw patch · 4 files changed
+61/−38 lines, 4 filesdep +quickcheck-instancesdep ~text-show
Dependencies added: quickcheck-instances
Dependency ranges changed: text-show
Files
- CHANGELOG.md +4/−0
- src/Text/Show/Text.hs +10/−0
- tests/Properties.hs +41/−31
- text-show.cabal +6/−7
CHANGELOG.md view
@@ -1,3 +1,7 @@+# 0.2.0.0++* Add `Show` instances for strict and lazy `Text`+ # 0.1.0.0 * Initial commit
src/Text/Show/Text.hs view
@@ -37,6 +37,7 @@ import Data.Text (Text) import Data.Text.Buildable (build) import Data.Text.IO (putStrLn)+import qualified Data.Text.Lazy as LT import Data.Text.Lazy (toStrict) import Data.Text.Lazy.Builder (Builder, singleton, toLazyText) import Data.Text.Lazy.Builder.RealFloat (realFloat)@@ -149,6 +150,15 @@ showbList = build {-# INLINE showbList #-}++-- Strict variant+instance Show Text where+ showb = build+ {-# INLINE showb #-}++instance Show LT.Text where+ showb = build+ {-# INLINE showb #-} instance Show Bool where showb True = "True"
tests/Properties.hs view
@@ -1,17 +1,22 @@ {-# OPTIONS_GHC -fno-warn-orphans #-} module Main where -import Data.Complex-import Data.Int-import Data.Ratio+import Data.Array (Array)+import Data.Complex (Complex)+import Data.Int (Int8, Int16, Int32, Int64)+import Data.Map (Map)+import Data.Ratio (Ratio)+import Data.Set (Set) import qualified Data.Text as T-import Data.Text.Lazy.Builder-import Data.Word+import qualified Data.Text as TL+import Data.Text.Lazy.Builder (Builder, fromString)+import Data.Word (Word, Word8, Word16, Word32, Word64) import qualified Prelude as P import Prelude hiding (Show(..)) import Test.QuickCheck+import Test.QuickCheck.Instances () import qualified Text.Show.Text as T @@ -23,29 +28,34 @@ main :: IO () main = do- quickCheck (prop_matchesShow :: Bool -> Bool)- quickCheck (prop_matchesShow :: Char -> Bool)- quickCheck (prop_matchesShow :: Float -> Bool)- quickCheck (prop_matchesShow :: Double -> Bool)- quickCheck (prop_matchesShow :: Int -> Bool)- quickCheck (prop_matchesShow :: Int8 -> Bool)- quickCheck (prop_matchesShow :: Int16 -> Bool)- quickCheck (prop_matchesShow :: Int32 -> Bool)- quickCheck (prop_matchesShow :: Int64 -> Bool)- quickCheck (prop_matchesShow :: Integer -> Bool)- quickCheck (prop_matchesShow :: Ordering -> Bool)- quickCheck (prop_matchesShow :: Word -> Bool)- quickCheck (prop_matchesShow :: Word8 -> Bool)- quickCheck (prop_matchesShow :: Word16 -> Bool)- quickCheck (prop_matchesShow :: Word32 -> Bool)- quickCheck (prop_matchesShow :: Word64 -> Bool)- quickCheck (prop_matchesShow :: () -> Bool)- quickCheck (prop_matchesShow :: Builder -> Bool)- quickCheck (prop_matchesShow :: String -> Bool)- quickCheck (prop_matchesShow :: [Int] -> Bool)- quickCheck (prop_matchesShow :: Ratio Int -> Bool)- quickCheck (prop_matchesShow :: Complex Double -> Bool)- quickCheck (prop_matchesShow :: (Int, Double) -> Bool)- quickCheck (prop_matchesShow :: (Int, Double, Char) -> Bool)- quickCheck (prop_matchesShow :: (Int, Double, Char, String) -> Bool)- quickCheck (prop_matchesShow :: (Int, Double, Char, String, [Int]) -> Bool)+ quickCheck (prop_matchesShow :: Bool -> Bool)+ quickCheck (prop_matchesShow :: Char -> Bool)+ quickCheck (prop_matchesShow :: Float -> Bool)+ quickCheck (prop_matchesShow :: Double -> Bool)+ quickCheck (prop_matchesShow :: Int -> Bool)+ quickCheck (prop_matchesShow :: Int8 -> Bool)+ quickCheck (prop_matchesShow :: Int16 -> Bool)+ quickCheck (prop_matchesShow :: Int32 -> Bool)+ quickCheck (prop_matchesShow :: Int64 -> Bool)+ quickCheck (prop_matchesShow :: Integer -> Bool)+ quickCheck (prop_matchesShow :: Ordering -> Bool)+ quickCheck (prop_matchesShow :: Word -> Bool)+ quickCheck (prop_matchesShow :: Word8 -> Bool)+ quickCheck (prop_matchesShow :: Word16 -> Bool)+ quickCheck (prop_matchesShow :: Word32 -> Bool)+ quickCheck (prop_matchesShow :: Word64 -> Bool)+ quickCheck (prop_matchesShow :: () -> Bool)+ quickCheck (prop_matchesShow :: Builder -> Bool)+ quickCheck (prop_matchesShow :: String -> Bool)+ quickCheck (prop_matchesShow :: T.Text -> Bool)+ quickCheck (prop_matchesShow :: TL.Text -> Bool)+ quickCheck (prop_matchesShow :: [Int] -> Bool)+ quickCheck (prop_matchesShow :: Ratio Int -> Bool)+ quickCheck (prop_matchesShow :: Complex Double -> Bool)+ quickCheck (prop_matchesShow :: (Int, Double) -> Bool)+ quickCheck (prop_matchesShow :: (Int, Double, Char) -> Bool)+ quickCheck (prop_matchesShow :: (Int, Double, Char, String) -> Bool)+ quickCheck (prop_matchesShow :: (Int, Double, Char, String, T.Text) -> Bool)+ quickCheck (prop_matchesShow :: Array Int T.Text -> Bool)+ quickCheck (prop_matchesShow :: Map Int T.Text -> Bool)+ quickCheck (prop_matchesShow :: Set Int -> Bool)
text-show.cabal view
@@ -1,5 +1,5 @@ name: text-show-version: 0.1.0.0+version: 0.2.0.0 synopsis: Efficient conversion of values into Text description: @text-show@ offers a complete drop-in replacement of the @Show@ typeclass, but for @Text@ instead of @String@. This package was@@ -22,10 +22,6 @@ type: git location: git://github.com/RyanGlScott/text-show.git -flag integer-simple- description: Use with integer-simple build of GHC- default: False- library exposed-modules: Text.Show.Text build-depends: array >= 0.3@@ -40,8 +36,11 @@ type: exitcode-stdio-1.0 main-is: Properties.hs hs-source-dirs: tests- build-depends: base >= 4.2 && < 5+ build-depends: array >= 0.3+ , base >= 4.2 && < 5+ , containers < 0.6 , QuickCheck >= 2.4 && < 2.8+ , quickcheck-instances , text >= 0.2 && < 1.3- , text-show == 0.1.0.0+ , text-show == 0.2.0.0 ghc-options: -Wall