packages feed

hspec-core 2.1.5 → 2.1.6

raw patch · 20 files changed

+128/−77 lines, 20 filesdep ~HUnitdep ~QuickCheckdep ~ansi-terminalPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: HUnit, QuickCheck, ansi-terminal, async, base, hspec-meta, transformers

API changes (from Hackage documentation)

Files

LICENSE view
@@ -1,4 +1,4 @@-Copyright (c) 2011-2014 Simon Hengel <sol@typeful.net>+Copyright (c) 2011-2015 Simon Hengel <sol@typeful.net> Copyright (c) 2011-2012 Trystan Spangler <trystan.s@comcast.net> Copyright (c) 2011-2011 Greg Weber <greg@gregweber.info> 
hspec-core.cabal view
@@ -1,8 +1,8 @@ name:             hspec-core-version:          2.1.5+version:          2.1.6 license:          MIT license-file:     LICENSE-copyright:        (c) 2011-2014 Simon Hengel,+copyright:        (c) 2011-2015 Simon Hengel,                   (c) 2011-2012 Trystan Spangler,                   (c) 2011 Greg Weber maintainer:       Simon Hengel <sol@typeful.net>@@ -22,10 +22,26 @@   subdir: hspec-core  library-  ghc-options:-      -Wall-  hs-source-dirs:-      src+  hs-source-dirs: src+  exposed-modules:+      Test.Hspec.Core.Spec+      Test.Hspec.Core.Hooks+      Test.Hspec.Core.Runner+      Test.Hspec.Core.Formatters+      Test.Hspec.Core.QuickCheck+      Test.Hspec.Core.Util+  other-modules:+      Test.Hspec.Compat+      Test.Hspec.Config+      Test.Hspec.Core.Example+      Test.Hspec.Core.Formatters.Internal+      Test.Hspec.Core.QuickCheckUtil+      Test.Hspec.Core.Runner.Eval+      Test.Hspec.Core.Spec.Monad+      Test.Hspec.Core.Tree+      Test.Hspec.FailureReport+      Test.Hspec.Options+      Test.Hspec.Timer   build-depends:       base >= 4.3 && < 5     , random@@ -40,34 +56,13 @@     , quickcheck-io     , hspec-expectations     , async >= 2-  exposed-modules:-      Test.Hspec.Core.Spec-      Test.Hspec.Core.Hooks-      Test.Hspec.Core.Runner-      Test.Hspec.Core.Formatters-      Test.Hspec.Core.QuickCheck-      Test.Hspec.Core.Util-  other-modules:-      Test.Hspec.Compat-      Test.Hspec.Core.Example-      Test.Hspec.Core.Tree-      Test.Hspec.Core.Spec.Monad-      Test.Hspec.Core.QuickCheckUtil-      Test.Hspec.Config-      Test.Hspec.Options-      Test.Hspec.FailureReport-      Test.Hspec.Core.Runner.Eval-      Test.Hspec.Core.Formatters.Internal-      Test.Hspec.Timer+  ghc-options: -Wall   default-language: Haskell2010  test-suite spec-  type:-      exitcode-stdio-1.0-  hs-source-dirs:-      src, test-  main-is:-      Spec.hs+  type: exitcode-stdio-1.0+  hs-source-dirs: test, src+  main-is: Spec.hs   other-modules:       Helper       Mock@@ -82,24 +77,23 @@       Test.Hspec.FailureReportSpec       Test.Hspec.OptionsSpec       Test.Hspec.TimerSpec-  ghc-options:-      -Wall   build-depends:-      base == 4.*+      base >= 4.3 && < 5     , random     , tf-random     , setenv-    , ansi-terminal+    , ansi-terminal >= 0.5     , time-    , transformers+    , transformers >= 0.2.2.0     , deepseq-    , HUnit-    , QuickCheck+    , HUnit >= 1.2.5+    , QuickCheck >= 2.5.1     , quickcheck-io     , hspec-expectations-    , async+    , async >= 2 -    , hspec-meta >= 1.12+    , hspec-meta >= 2.1.5     , silently >= 1.2.4     , process+  ghc-options: -Wall   default-language: Haskell2010
src/Test/Hspec/Compat.hs view
@@ -5,10 +5,45 @@ , readMaybe , lookupEnv , module Data.IORef++, module Prelude+, module Control.Applicative+, module Data.Foldable+, module Data.Traversable+, module Data.Monoid+ #if !MIN_VERSION_base(4,6,0) , modifyIORef' #endif ) where++import           Control.Applicative+import           Data.Foldable+import           Data.Traversable+import           Data.Monoid++import           Prelude hiding (+    all+  , and+  , any+  , concat+  , concatMap+  , elem+  , foldl+  , foldl1+  , foldr+  , foldr1+  , mapM+  , mapM_+  , maximum+  , minimum+  , notElem+  , or+  , product+  , sequence+  , sequence_+  , sum+  )  #if !MIN_VERSION_base(4,3,0) import           Control.Monad.Trans.Error () -- for Monad (Either e)
src/Test/Hspec/Config.hs view
@@ -42,7 +42,10 @@      matchFilter = configFilterPredicate opts -    rerunFilter = flip elem . failureReportPaths <$> mFailureReport+    rerunFilter = case failureReportPaths <$> mFailureReport of+      Just [] -> Nothing+      Just xs -> Just (`elem` xs)+      Nothing -> Nothing  configQuickCheckArgs :: Config -> QC.Args configQuickCheckArgs c = qcArgs
src/Test/Hspec/Core/Formatters.hs view
@@ -49,13 +49,14 @@ , formatException ) where +import           Prelude ()+import           Test.Hspec.Compat+ import           Data.Maybe import           Test.Hspec.Core.Util import           Test.Hspec.Core.Spec (Location(..), LocationAccuracy(..)) import           Text.Printf import           Control.Monad (when, unless)-import           Data.Foldable (forM_)-import           Control.Applicative import           System.IO (hPutStr, hFlush)  -- We use an explicit import list for "Test.Hspec.Formatters.Internal", to make
src/Test/Hspec/Core/Formatters/Internal.hs view
@@ -35,10 +35,12 @@ , finally_ ) where +import           Prelude ()+import           Test.Hspec.Compat+ import qualified System.IO as IO import           System.IO (Handle) import           Control.Monad-import           Control.Applicative import           Control.Exception (SomeException, AsyncException(..), bracket_, try, throwIO) import           System.Console.ANSI import           Control.Monad.Trans.State hiding (gets, modify)@@ -47,7 +49,6 @@ import           Data.Time.Clock.POSIX (POSIXTime, getPOSIXTime)  import           Test.Hspec.Core.Util (Path)-import           Test.Hspec.Compat import           Test.Hspec.Core.Spec (Progress, Location)  -- | A lifted version of `Control.Monad.Trans.State.gets`
src/Test/Hspec/Core/QuickCheckUtil.hs view
@@ -1,9 +1,10 @@ {-# LANGUAGE CPP #-} module Test.Hspec.Core.QuickCheckUtil where -import           Control.Applicative+import           Prelude ()+import           Test.Hspec.Compat+ import           Data.Int-import           Data.IORef import           Test.QuickCheck hiding (Result(..)) import           Test.QuickCheck as QC import           Test.QuickCheck.Property hiding (Result(..))
src/Test/Hspec/Core/Runner.hs view
@@ -16,9 +16,10 @@ , configAddFilter ) where +import           Prelude ()+import           Test.Hspec.Compat+ import           Control.Monad-import           Control.Applicative-import           Data.Monoid import           Data.Maybe import           System.IO import           System.Environment (getProgName, getArgs, withArgs)@@ -29,7 +30,6 @@ import qualified Test.QuickCheck as QC import           Control.Monad.IO.Class (liftIO) -import           Test.Hspec.Compat (lookupEnv) import           Test.Hspec.Core.Util (Path) import           Test.Hspec.Core.Spec import           Test.Hspec.Config
src/Test/Hspec/Core/Runner/Eval.hs view
@@ -1,7 +1,9 @@ module Test.Hspec.Core.Runner.Eval (runFormatter) where -import           Control.Applicative-import           Control.Monad+import           Prelude ()+import           Test.Hspec.Compat++import           Control.Monad (unless, when) import qualified Control.Exception as E import           Control.Concurrent import           System.IO (Handle)
src/Test/Hspec/Core/Spec/Monad.hs view
@@ -13,7 +13,9 @@ , modifyParams ) where -import           Control.Applicative+import           Prelude ()+import           Test.Hspec.Compat+ import           Control.Monad.Trans.Writer import           Control.Monad.IO.Class (liftIO) 
src/Test/Hspec/Core/Tree.hs view
@@ -11,10 +11,8 @@ , specItem ) where -import           Control.Applicative-import           Data.Foldable-import           Data.Traversable-import           Data.Monoid+import           Prelude ()+import           Test.Hspec.Compat  import           Test.Hspec.Core.Example 
src/Test/Hspec/Options.hs view
@@ -6,14 +6,14 @@ , parseOptions ) where -import           Control.Applicative-import           Data.List+import           Prelude ()+import           Test.Hspec.Compat+ import           System.IO import           System.Exit import           System.Console.GetOpt  import           Test.Hspec.Core.Formatters-import           Test.Hspec.Compat import           Test.Hspec.Core.Util import           Test.Hspec.Core.Example (Params(..), defaultParams) 
test/Helper.hs view
@@ -1,7 +1,7 @@ module Helper (   module Test.Hspec.Meta+, module Test.Hspec.Compat , module Test.QuickCheck-, module Control.Applicative , module System.IO.Silently , sleep , timeout@@ -20,11 +20,12 @@ , shouldUseArgs ) where +import           Prelude ()+import           Test.Hspec.Compat+ import           Data.List import           Data.Char-import           Data.IORef import           Control.Monad-import           Control.Applicative import           System.Environment (withArgs) import           System.Exit import           Control.Concurrent
test/Mock.hs view
@@ -1,7 +1,7 @@ module Mock where -import           Control.Applicative-import           Data.IORef+import           Prelude ()+import           Test.Hspec.Compat  newtype Mock = Mock (IORef Int) 
test/Test/Hspec/CompatSpec.hs view
@@ -3,8 +3,6 @@  import           Helper import           System.SetEnv--import           Test.Hspec.Compat import           Data.Typeable  data SomeType = SomeType
test/Test/Hspec/Core/ExampleSpec.hs view
@@ -4,7 +4,6 @@ import           Helper import           Mock import           Data.List-import           Data.IORef  import qualified Test.Hspec.Core.Example as H import qualified Test.Hspec.Core.Spec as H
test/Test/Hspec/Core/FormattersSpec.hs view
@@ -1,6 +1,7 @@ {-# LANGUAGE CPP #-} module Test.Hspec.Core.FormattersSpec (main, spec) where +import           Prelude () import           Helper  import qualified Test.Hspec.Core.Spec as H
test/Test/Hspec/Core/HooksSpec.hs view
@@ -1,7 +1,7 @@ module Test.Hspec.Core.HooksSpec (main, spec) where +import           Prelude () import           Helper-import           Data.IORef  import qualified Test.Hspec.Core.Spec as H import qualified Test.Hspec.Core.Runner as H
test/Test/Hspec/Core/RunnerSpec.hs view
@@ -1,15 +1,16 @@ module Test.Hspec.Core.RunnerSpec (main, spec) where +import           Prelude () import           Helper+ import           System.IO (stderr)-import           Control.Monad+import           Control.Monad (replicateM_) import           System.Environment (withArgs, withProgName, getArgs) import           System.Exit import           Control.Concurrent import qualified Control.Exception as E import           Mock import           System.SetEnv-import           Test.Hspec.Compat  import           Test.Hspec.FailureReport (FailureReport(..)) import qualified Test.Hspec.Core.Spec as H@@ -95,33 +96,46 @@        it "reuses the same seed" $ do         r <- runPropFoo ["--seed", "42"]-        runPropFoo ["-r"] `shouldReturn` r+        runPropFoo ["--rerun"] `shouldReturn` r        forM_ quickCheckOptions $ \(flag, accessor) -> do         it ("reuses same " ++ flag) $ do           [flag, "23"] `shouldUseArgs` ((== 23) . accessor)           ["--rerun"] `shouldUseArgs` ((== 23) . accessor) +      context "when no examples failed previously" $ do+        it "runs all examples" $ do+          let run = capture_ . H.hspec $ do+                H.it "example 1" True+                H.it "example 2" True+                H.it "example 3" True++          r0 <- run+          r0 `shouldContain` "3 examples, 0 failures"++          r1 <- withArgs ["--rerun"] run+          r1 `shouldContain` "3 examples, 0 failures"+       context "when there is no failure report in the environment" $ do         it "runs everything" $ do           unsetEnv "HSPEC_FAILURES"-          r <- hSilence [stderr] $ withArgs ["-r"] runSpec+          r <- hSilence [stderr] $ withArgs ["--rerun"] runSpec           r `shouldSatisfy` elem "5 examples, 3 failures"          it "prints a warning to stderr" $ do           unsetEnv "HSPEC_FAILURES"-          r <- hCapture_ [stderr] $ withArgs ["-r"] runSpec+          r <- hCapture_ [stderr] $ withArgs ["--rerun"] runSpec           r `shouldBe` "WARNING: Could not read environment variable HSPEC_FAILURES; `--rerun' is ignored!\n"        context "when parsing of failure report fails" $ do         it "runs everything" $ do           setEnv "HSPEC_FAILURES" "some invalid report"-          r <- hSilence [stderr] $ withArgs ["-r"] runSpec+          r <- hSilence [stderr] $ withArgs ["--rerun"] runSpec           r `shouldSatisfy` elem "5 examples, 3 failures"          it "prints a warning to stderr" $ do           setEnv "HSPEC_FAILURES" "some invalid report"-          r <- hCapture_ [stderr] $ withArgs ["-r"] runSpec+          r <- hCapture_ [stderr] $ withArgs ["--rerun"] runSpec           r `shouldBe` "WARNING: Could not read environment variable HSPEC_FAILURES; `--rerun' is ignored!\n"  
test/Test/Hspec/Core/SpecSpec.hs view
@@ -1,5 +1,6 @@ module Test.Hspec.Core.SpecSpec (main, spec) where +import           Prelude () import           Helper  import           Test.Hspec.Core.Spec (Item(..), Result(..))