project-template 0.1.3.1 → 0.1.3.2
raw patch · 2 files changed
+19/−9 lines, 2 filesdep −classy-preludedep ~basic-preludedep ~bytestringdep ~system-filepathPVP ok
version bump matches the API change (PVP)
Dependencies removed: classy-prelude
Dependency ranges changed: basic-prelude, bytestring, system-filepath, text
API changes (from Hackage documentation)
Files
project-template.cabal view
@@ -1,5 +1,5 @@ name: project-template-version: 0.1.3.1+version: 0.1.3.2 synopsis: Specify Haskell project templates and generate files description: See initial blog post for explanation: <http://www.yesodweb.com/blog/2012/09/project-templates> homepage: https://github.com/fpco/haskell-ide@@ -35,12 +35,16 @@ type: exitcode-stdio-1.0 build-depends: base , project-template- , classy-prelude+ , basic-prelude , hspec >= 1.3 , transformers , QuickCheck , base64-bytestring , conduit+ , text+ , bytestring+ , containers+ , system-filepath ghc-options: -Wall source-repository head
test/Text/ProjectTemplateSpec.hs view
@@ -5,12 +5,18 @@ import Test.Hspec import Test.Hspec.QuickCheck import Text.ProjectTemplate-import ClassyPrelude+import BasicPrelude import Data.Conduit import Control.Monad.Trans.Writer (execWriter) import Test.QuickCheck.Arbitrary import Data.Char (isAlphaNum) import qualified Data.ByteString.Base64 as B64+import Data.Text (pack, unpack)+import Data.Text.Lazy (toChunks, fromChunks)+import qualified Data.ByteString.Lazy as L+import qualified Data.ByteString as S+import qualified Data.Map as Map+import Filesystem.Path.CurrentOS (decodeString) spec :: Spec spec = do@@ -19,25 +25,25 @@ let m' = execWriter $ runExceptionT_- $ mapM_ (yield . second return) (unpack m)+ $ mapM_ (yield . second return) (Map.toList m) $$ createTemplate =$ unpackTemplate receiveMem id- m'' = pack $ map (second $ concat . toChunks) $ unpack m'- in if m == m'' then True else error (show m'')+ m'' = Map.fromList $ map (second $ mconcat . L.toChunks) $ Map.toList m'+ in if m == m'' then True else error (unpack $ show m'') describe "binaries" $ do prop "works with multilines" $ \words ->- let bs = pack words+ let bs = S.pack words encoded = B64.joinWith "\n" 5 $ B64.encode bs content = "{-# START_FILE BASE64 foo #-}\n" ++ encoded m = execWriter $ runExceptionT_ $ yield content $$ unpackTemplate receiveMem id- in lookup "foo" m == Just (fromChunks [bs])+ in Map.lookup "foo" m == Just (L.fromChunks [bs]) newtype Helper = Helper (Map FilePath ByteString) deriving (Show, Eq) instance Arbitrary Helper where arbitrary =- Helper . pack <$> mapM (const $ (pack . def "foo" . filter isAlphaNum *** pack . def (unpack $ asByteString "bar")) <$> arbitrary) [1..10 :: Int]+ Helper . Map.fromList <$> mapM (const $ (decodeString . def "foo" . filter isAlphaNum *** S.pack . def (S.unpack "bar")) <$> arbitrary) [1..10 :: Int] where def x y | null y = x