sandi 0.2.3 → 0.3.0
raw patch · 23 files changed
+146/−97 lines, 23 filesdep +exceptionsdep +tastydep +tasty-hunitdep −test-frameworkdep −test-framework-hunitdep −test-framework-quickcheck2dep ~basedep ~bytestringdep ~conduit
Dependencies added: exceptions, tasty, tasty-hunit, tasty-quickcheck, tasty-th
Dependencies removed: test-framework, test-framework-hunit, test-framework-quickcheck2, test-framework-th
Dependency ranges changed: base, bytestring, conduit
Files
- sandi.cabal +10/−9
- src/Data/Conduit/Codec/Base16.hs +7/−2
- src/Data/Conduit/Codec/Base32.hs +6/−1
- src/Data/Conduit/Codec/Base32Hex.hs +6/−1
- src/Data/Conduit/Codec/Base64.hs +6/−1
- src/Data/Conduit/Codec/Base64Url.hs +6/−1
- src/Data/Conduit/Codec/Base85.hs +6/−1
- src/Data/Conduit/Codec/QuotedPrintable.hs +7/−2
- src/Data/Conduit/Codec/Util.hs +10/−5
- src/Data/Conduit/Codec/Uu.hs +6/−1
- src/Data/Conduit/Codec/Xx.hs +6/−1
- src/Data/Conduit/Codec/Yenc.hs +6/−1
- test-src/Codec/Binary/Base16Test.hs +6/−6
- test-src/Codec/Binary/Base32HexTest.hs +6/−6
- test-src/Codec/Binary/Base32Test.hs +6/−6
- test-src/Codec/Binary/Base64Test.hs +6/−6
- test-src/Codec/Binary/Base64UrlTest.hs +6/−6
- test-src/Codec/Binary/Base85Test.hs +6/−6
- test-src/Codec/Binary/QuotedPrintableTest.hs +6/−6
- test-src/Codec/Binary/UuTest.hs +6/−6
- test-src/Codec/Binary/XxTest.hs +6/−6
- test-src/Codec/Binary/YencTest.hs +6/−6
- test-src/Main.hs +4/−11
sandi.cabal view
@@ -1,5 +1,5 @@ name: sandi-version: 0.2.3+version: 0.3.0 license: BSD3 license-file: LICENSE cabal-version: >= 1.8@@ -8,7 +8,7 @@ maintainer: magnus@therning.org homepage: http://hackage.haskell.org/package/sandi copyright: Magnus Therning, 2012-category: Codec+category: Codec Conduit synopsis: Data encoding library description: Reasonably fast data encoding library. extra-source-files: csrc/*.h@@ -24,9 +24,10 @@ ghc-options: -Wall cc-options: -Wall -Wextra build-depends:- base >=4.5 && < 4.7,- bytestring >=0.9 && < 0.11,- conduit ==1.0.*+ base ==4.7.*,+ bytestring ==0.10.*,+ conduit ==1.1.*,+ exceptions ==0.6.* exposed-modules: Codec.Binary.Base16 Codec.Binary.Base32@@ -59,10 +60,10 @@ base, bytestring, HUnit,- test-framework-quickcheck2,- test-framework-hunit,- test-framework-th,- test-framework+ tasty,+ tasty-hunit,+ tasty-quickcheck,+ tasty-th main-is: Main.hs other-modules: Codec.Binary.Base16Test
src/Data/Conduit/Codec/Base16.hs view
@@ -1,10 +1,15 @@+-- |+-- Module: Data.Conduit.Codec.Base16+-- Copyright: (c) 2014 Magnus Therning+-- License: BSD3 module Data.Conduit.Codec.Base16 where import qualified Codec.Binary.Base16 as B16 import qualified Data.Conduit.Codec.Util as U -import Data.Conduit-import Data.ByteString as BS+import Control.Monad.Catch (MonadThrow)+import Data.ByteString (ByteString, empty)+import Data.Conduit (Conduit) encode :: (Monad m) => Conduit ByteString m ByteString encode = U.encodeII B16.encode
src/Data/Conduit/Codec/Base32.hs view
@@ -1,10 +1,15 @@+-- |+-- Module: Data.Conduit.Codec.Base32+-- Copyright: (c) 2014 Magnus Therning+-- License: BSD3 module Data.Conduit.Codec.Base32 where import qualified Codec.Binary.Base32 as B32 import qualified Data.Conduit.Codec.Util as U -import Data.Conduit (Conduit, MonadThrow)+import Control.Monad.Catch (MonadThrow) import Data.ByteString (ByteString, empty)+import Data.Conduit (Conduit) encode :: (Monad m) => Conduit ByteString m ByteString encode = U.encodeI B32.b32_encode_part B32.b32_encode_final empty
src/Data/Conduit/Codec/Base32Hex.hs view
@@ -1,10 +1,15 @@+-- |+-- Module: Data.Conduit.Codec.Base32Hex+-- Copyright: (c) 2014 Magnus Therning+-- License: BSD3 module Data.Conduit.Codec.Base32Hex where import qualified Codec.Binary.Base32Hex as B32H import qualified Data.Conduit.Codec.Util as U -import Data.Conduit (Conduit, MonadThrow)+import Control.Monad.Catch (MonadThrow) import Data.ByteString (ByteString, empty)+import Data.Conduit (Conduit) encode :: (Monad m) => Conduit ByteString m ByteString encode = U.encodeI B32H.b32h_encode_part B32H.b32h_encode_final empty
src/Data/Conduit/Codec/Base64.hs view
@@ -1,10 +1,15 @@+-- |+-- Module: Data.Conduit.Codec.Base64+-- Copyright: (c) 2014 Magnus Therning+-- License: BSD3 module Data.Conduit.Codec.Base64 where import qualified Codec.Binary.Base64 as B64 import qualified Data.Conduit.Codec.Util as U -import Data.Conduit (Conduit, MonadThrow)+import Control.Monad.Catch (MonadThrow) import Data.ByteString (ByteString, empty)+import Data.Conduit (Conduit) encode :: (Monad m) => Conduit ByteString m ByteString encode = U.encodeI B64.b64_encode_part B64.b64_encode_final empty
src/Data/Conduit/Codec/Base64Url.hs view
@@ -1,10 +1,15 @@+-- |+-- Module: Data.Conduit.Codec.Base64Url+-- Copyright: (c) 2014 Magnus Therning+-- License: BSD3 module Data.Conduit.Codec.Base64Url where import qualified Codec.Binary.Base64Url as B64U import qualified Data.Conduit.Codec.Util as U -import Data.Conduit (Conduit, MonadThrow)+import Control.Monad.Catch (MonadThrow) import Data.ByteString (ByteString, empty)+import Data.Conduit (Conduit) encode :: (Monad m) => Conduit ByteString m ByteString encode = U.encodeI B64U.b64u_encode_part B64U.b64u_encode_final empty
src/Data/Conduit/Codec/Base85.hs view
@@ -1,10 +1,15 @@+-- |+-- Module: Data.Conduit.Codec.Base85+-- Copyright: (c) 2014 Magnus Therning+-- License: BSD3 module Data.Conduit.Codec.Base85 where import qualified Codec.Binary.Base85 as B85 import qualified Data.Conduit.Codec.Util as U -import Data.Conduit (Conduit, MonadThrow)+import Control.Monad.Catch (MonadThrow) import Data.ByteString (ByteString, empty)+import Data.Conduit (Conduit) encode :: (Monad m) => Conduit ByteString m ByteString encode = U.encodeI B85.b85_encode_part B85.b85_encode_final empty
src/Data/Conduit/Codec/QuotedPrintable.hs view
@@ -1,10 +1,15 @@+-- |+-- Module: Data.Conduit.Codec.QuotedPrintable+-- Copyright: (c) 2014 Magnus Therning+-- License: BSD3 module Data.Conduit.Codec.QuotedPrintable where import qualified Codec.Binary.QuotedPrintable as Qp import qualified Data.Conduit.Codec.Util as U -import Data.Conduit-import Data.ByteString as BS+import Control.Monad.Catch (MonadThrow)+import Data.ByteString (ByteString, empty)+import Data.Conduit (Conduit) encode :: (Monad m) => Conduit ByteString m ByteString encode = U.encodeII Qp.encode
src/Data/Conduit/Codec/Util.hs view
@@ -1,3 +1,7 @@+-- |+-- Module: Data.Conduit.Codec.Util+-- Copyright: (c) 2014 Magnus Therning+-- License: BSD3 {-# OPTIONS_GHC -XDeriveDataTypeable #-} module Data.Conduit.Codec.Util@@ -11,9 +15,10 @@ import Data.Typeable (Typeable) import Control.Exception (Exception) import Data.ByteString as BS (ByteString, append, null)-import Data.Conduit (Conduit, MonadThrow, await, monadThrow, yield)+import Data.Conduit (Conduit, await, yield) import Data.Maybe (fromJust) import Control.Monad (unless)+import Control.Monad.Catch (MonadThrow, throwM) type EncFunc = ByteString -> ByteString type EncFuncPart = ByteString -> (ByteString, ByteString)@@ -43,13 +48,13 @@ case enc of Nothing -> case dec_final i of- Nothing -> monadThrow (CodecDecodeException i)+ Nothing -> throwM (CodecDecodeException i) Just s -> yield s >> return () Just s -> case dec_part (i `append` s) of Left (a, b) -> do unless (BS.null a) $ yield a- monadThrow (CodecDecodeException b)+ throwM (CodecDecodeException b) Right (a, b) -> do unless (BS.null a) $ yield a decodeI dec_part dec_final b@@ -69,11 +74,11 @@ case enc of Nothing -> if BS.null i then return ()- else monadThrow $ CodecDecodeException i+ else throwM $ CodecDecodeException i Just s -> case (dec $ i `append` s) of Left (c, b) -> do unless (BS.null c) $ yield c- monadThrow $ CodecDecodeException b+ throwM $ CodecDecodeException b Right (c, r) -> do unless (BS.null c) $ yield c decodeII dec r
src/Data/Conduit/Codec/Uu.hs view
@@ -1,10 +1,15 @@+-- |+-- Module: Data.Conduit.Codec.Uu+-- Copyright: (c) 2014 Magnus Therning+-- License: BSD3 module Data.Conduit.Codec.Uu where import qualified Codec.Binary.Uu as Uu import qualified Data.Conduit.Codec.Util as U -import Data.Conduit (Conduit, MonadThrow)+import Control.Monad.Catch (MonadThrow) import Data.ByteString (ByteString, empty)+import Data.Conduit (Conduit) encode :: (Monad m) => Conduit ByteString m ByteString encode = U.encodeI Uu.uu_encode_part Uu.uu_encode_final empty
src/Data/Conduit/Codec/Xx.hs view
@@ -1,10 +1,15 @@+-- |+-- Module: Data.Conduit.Codec.Xx+-- Copyright: (c) 2014 Magnus Therning+-- License: BSD3 module Data.Conduit.Codec.Xx where import qualified Codec.Binary.Xx as Xx import qualified Data.Conduit.Codec.Util as U -import Data.Conduit (Conduit, MonadThrow)+import Control.Monad.Catch (MonadThrow) import Data.ByteString (ByteString, empty)+import Data.Conduit (Conduit) encode :: (Monad m) => Conduit ByteString m ByteString encode = U.encodeI Xx.xx_encode_part Xx.xx_encode_final empty
src/Data/Conduit/Codec/Yenc.hs view
@@ -1,10 +1,15 @@+-- |+-- Module: Data.Conduit.Codec.Yenc+-- Copyright: (c) 2014 Magnus Therning+-- License: BSD3 module Data.Conduit.Codec.Yenc where import qualified Codec.Binary.Yenc as Y import qualified Data.Conduit.Codec.Util as U -import Data.Conduit (Conduit, MonadThrow)+import Control.Monad.Catch (MonadThrow) import Data.ByteString (ByteString, empty)+import Data.Conduit (Conduit) encode :: (Monad m) => Conduit ByteString m ByteString encode = U.encodeII Y.encode
test-src/Codec/Binary/Base16Test.hs view
@@ -9,13 +9,13 @@ import qualified Data.ByteString as BS import qualified Data.ByteString.Char8 as BSC-import Test.HUnit-import Test.Framework (Test)-import Test.Framework.TH-import Test.Framework.Providers.HUnit-import Test.Framework.Providers.QuickCheck2 import Data.Word (Word8) +import Test.Tasty+import Test.Tasty.TH+import Test.Tasty.HUnit+import Test.Tasty.QuickCheck+ case_b16_enc_foobar :: IO () case_b16_enc_foobar = do BSC.empty @=? B16.encode BSC.empty@@ -44,5 +44,5 @@ prop_b16_encdec :: [Word8] -> Bool prop_b16_encdec ws = (BS.pack ws) == (fromRight $ B16.decode $ B16.encode $ BS.pack ws) -tests :: Test.Framework.Test+tests :: TestTree tests = $(testGroupGenerator)
test-src/Codec/Binary/Base32HexTest.hs view
@@ -9,13 +9,13 @@ import qualified Data.ByteString as BS import qualified Data.ByteString.Char8 as BSC-import Test.HUnit-import Test.Framework (Test)-import Test.Framework.TH-import Test.Framework.Providers.HUnit-import Test.Framework.Providers.QuickCheck2 import Data.Word (Word8) +import Test.Tasty+import Test.Tasty.TH+import Test.Tasty.HUnit+import Test.Tasty.QuickCheck+ case_enc_foobar :: IO () case_enc_foobar = do BSC.empty @=? B32H.encode BS.empty@@ -48,5 +48,5 @@ prop_encdec :: [Word8] -> Bool prop_encdec ws = (BS.pack ws) == (fromRight $ B32H.decode $ B32H.encode $ BS.pack ws) -tests :: Test.Framework.Test+tests :: TestTree tests = $(testGroupGenerator)
test-src/Codec/Binary/Base32Test.hs view
@@ -9,13 +9,13 @@ import qualified Data.ByteString as BS import qualified Data.ByteString.Char8 as BSC-import Test.HUnit-import Test.Framework (Test)-import Test.Framework.TH-import Test.Framework.Providers.HUnit-import Test.Framework.Providers.QuickCheck2 import Data.Word (Word8) +import Test.Tasty+import Test.Tasty.TH+import Test.Tasty.HUnit+import Test.Tasty.QuickCheck+ case_enc_foobar :: IO () case_enc_foobar = do BSC.empty @=? B32.encode BSC.empty@@ -48,5 +48,5 @@ prop_encdec :: [Word8] -> Bool prop_encdec ws = (BS.pack ws) == (fromRight $ B32.decode $ B32.encode $ BS.pack ws) -tests :: Test.Framework.Test+tests :: TestTree tests = $(testGroupGenerator)
test-src/Codec/Binary/Base64Test.hs view
@@ -9,13 +9,13 @@ import qualified Data.ByteString as BS import qualified Data.ByteString.Char8 as BSC-import Test.HUnit-import Test.Framework (Test)-import Test.Framework.TH-import Test.Framework.Providers.HUnit-import Test.Framework.Providers.QuickCheck2 import Data.Word (Word8) +import Test.Tasty+import Test.Tasty.TH+import Test.Tasty.HUnit+import Test.Tasty.QuickCheck+ case_enc_foobar :: IO () case_enc_foobar = do BSC.empty @=? B64.encode BSC.empty@@ -49,5 +49,5 @@ prop_encdec :: [Word8] -> Bool prop_encdec ws = (BS.pack ws) == (fromRight $ B64.decode $ B64.encode $ BS.pack ws) -tests :: Test.Framework.Test+tests :: TestTree tests = $(testGroupGenerator)
test-src/Codec/Binary/Base64UrlTest.hs view
@@ -9,13 +9,13 @@ import qualified Data.ByteString as BS import qualified Data.ByteString.Char8 as BSC-import Test.HUnit-import Test.Framework (Test)-import Test.Framework.TH-import Test.Framework.Providers.HUnit-import Test.Framework.Providers.QuickCheck2 import Data.Word (Word8) +import Test.Tasty+import Test.Tasty.TH+import Test.Tasty.HUnit+import Test.Tasty.QuickCheck+ case_enc_foobar :: IO () case_enc_foobar = do BSC.empty @=? B64U.encode BSC.empty@@ -49,5 +49,5 @@ prop_encdec :: [Word8] -> Bool prop_encdec ws = (BS.pack ws) == (fromRight $ B64U.decode $ B64U.encode $ BS.pack ws) -tests :: Test.Framework.Test+tests :: TestTree tests = $(testGroupGenerator)
test-src/Codec/Binary/Base85Test.hs view
@@ -9,13 +9,13 @@ import qualified Data.ByteString as BS import qualified Data.ByteString.Char8 as BSC-import Test.HUnit-import Test.Framework (Test)-import Test.Framework.TH-import Test.Framework.Providers.HUnit-import Test.Framework.Providers.QuickCheck2 import Data.Word (Word8) +import Test.Tasty+import Test.Tasty.TH+import Test.Tasty.HUnit+import Test.Tasty.QuickCheck+ case_enc_foobar :: IO () case_enc_foobar = do BS.empty @=? B85.encode BS.empty@@ -58,5 +58,5 @@ prop_encdec :: [Word8] -> Bool prop_encdec ws = (BS.pack ws) == (fromRight $ B85.decode $ B85.encode $ BS.pack ws) -tests :: Test.Framework.Test+tests :: TestTree tests = $(testGroupGenerator)
test-src/Codec/Binary/QuotedPrintableTest.hs view
@@ -9,13 +9,13 @@ import qualified Data.ByteString as BS import qualified Data.ByteString.Char8 as BSC-import Test.HUnit-import Test.Framework (Test)-import Test.Framework.TH-import Test.Framework.Providers.HUnit-import Test.Framework.Providers.QuickCheck2 import Data.Word (Word8) +import Test.Tasty+import Test.Tasty.TH+import Test.Tasty.HUnit+import Test.Tasty.QuickCheck+ case_enc_foobar :: IO () case_enc_foobar = do BS.empty @=? QP.encode BS.empty@@ -29,5 +29,5 @@ prop_encdec :: [Word8] -> Bool prop_encdec ws = (BS.pack ws) == (fromRight $ QP.decode $ QP.encode $ BS.pack ws) -tests :: Test.Framework.Test+tests :: TestTree tests = $(testGroupGenerator)
test-src/Codec/Binary/UuTest.hs view
@@ -9,13 +9,13 @@ import qualified Data.ByteString as BS import qualified Data.ByteString.Char8 as BSC-import Test.HUnit-import Test.Framework (Test)-import Test.Framework.TH-import Test.Framework.Providers.HUnit-import Test.Framework.Providers.QuickCheck2 import Data.Word (Word8) +import Test.Tasty+import Test.Tasty.TH+import Test.Tasty.HUnit+import Test.Tasty.QuickCheck+ case_enc_foobar :: IO () case_enc_foobar = do BS.empty @=? Uu.encode BS.empty@@ -39,5 +39,5 @@ prop_encdec :: [Word8] -> Bool prop_encdec ws = (BS.pack ws) == (fromRight $ Uu.decode $ Uu.encode $ BS.pack ws) -tests :: Test.Framework.Test+tests :: TestTree tests = $(testGroupGenerator)
test-src/Codec/Binary/XxTest.hs view
@@ -9,13 +9,13 @@ import qualified Data.ByteString as BS import qualified Data.ByteString.Char8 as BSC-import Test.HUnit-import Test.Framework (Test)-import Test.Framework.TH-import Test.Framework.Providers.HUnit-import Test.Framework.Providers.QuickCheck2 import Data.Word (Word8) +import Test.Tasty+import Test.Tasty.TH+import Test.Tasty.HUnit+import Test.Tasty.QuickCheck+ case_enc_foobar :: IO () case_enc_foobar = do BS.empty @=? Xx.encode BS.empty@@ -39,5 +39,5 @@ prop_encdec :: [Word8] -> Bool prop_encdec ws = (BS.pack ws) == (fromRight $ Xx.decode $ Xx.encode $ BS.pack ws) -tests :: Test.Framework.Test+tests :: TestTree tests = $(testGroupGenerator)
test-src/Codec/Binary/YencTest.hs view
@@ -9,13 +9,13 @@ import qualified Data.ByteString as BS import qualified Data.ByteString.Char8 as BSC-import Test.HUnit-import Test.Framework (Test)-import Test.Framework.TH-import Test.Framework.Providers.HUnit-import Test.Framework.Providers.QuickCheck2 import Data.Word (Word8) +import Test.Tasty+import Test.Tasty.TH+import Test.Tasty.QuickCheck+import Test.Tasty.HUnit+ case_enc_foobar :: IO () case_enc_foobar = do BS.empty @=? Y.encode BS.empty@@ -55,5 +55,5 @@ prop_encdec :: [Word8] -> Bool prop_encdec ws = (BS.pack ws) == (fromRight $ Y.decode $ Y.encode $ BS.pack ws) -tests :: Test.Framework.Test+tests :: TestTree tests = $(testGroupGenerator)
test-src/Main.hs view
@@ -5,13 +5,7 @@ module Main where -import Test.Framework-import Test.Framework.TH--- import Test.Framework.Providers.HUnit--- import Test.Framework.Providers.QuickCheck2--- import Test.HUnit--- import qualified Data.ByteString as BS--- import qualified Data.ByteString.Char8 as BSC+import Test.Tasty import qualified Codec.Binary.Base16Test as B16Test import qualified Codec.Binary.Base32Test as B32Test@@ -24,10 +18,9 @@ import qualified Codec.Binary.XxTest as XxTest import qualified Codec.Binary.YencTest as YTest -tests :: [Test.Framework.Test]-tests =- [ $(testGroupGenerator)- , B16Test.tests+tests :: TestTree+tests = testGroup "All tests"+ [ B16Test.tests , B32Test.tests , B32HTest.tests , B64Test.tests