tasty-hspec (empty) → 0.1
raw patch · 4 files changed
+107/−0 lines, 4 filesdep +basedep +hspecdep +tastysetup-changed
Dependencies added: base, hspec, tasty
Files
- LICENSE +30/−0
- Setup.hs +2/−0
- Test/Tasty/Hspec.hs +54/−0
- tasty-hspec.cabal +21/−0
+ LICENSE view
@@ -0,0 +1,30 @@+Copyright (c) 2013, Mitchell Rosen++All rights reserved.++Redistribution and use in source and binary forms, with or without+modification, are permitted provided that the following conditions are met:++ * Redistributions of source code must retain the above copyright+ notice, this list of conditions and the following disclaimer.++ * Redistributions in binary form must reproduce the above+ copyright notice, this list of conditions and the following+ disclaimer in the documentation and/or other materials provided+ with the distribution.++ * Neither the name of Mitchell Rosen nor the names of other+ contributors may be used to endorse or promote products derived+ from this software without specific prior written permission.++THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ Setup.hs view
@@ -0,0 +1,2 @@+import Distribution.Simple+main = defaultMain
+ Test/Tasty/Hspec.hs view
@@ -0,0 +1,54 @@+{-# LANGUAGE DeriveDataTypeable #-}++module Test.Tasty.Hspec+ ( testCase++ -- * Re-exports+ , module Test.Hspec+ , Test.Tasty.TestName+ , Test.Tasty.TestTree+ ) where++import Test.Hspec++import Data.Typeable (Typeable)+import Test.Tasty (TestName, TestTree)+import Test.Tasty.Providers (IsTest(..), Result(..), singleTest)+import Test.Hspec.Runner (Summary(..), hspecResult)++-- | Turn an hspec @Spec@ into a tasty @TestTree@.+--+-- > module AnimalsSpec (tests) where+-- >+-- > import Test.Tasty.Hspec+-- >+-- > tests :: TestTree+-- > tests = testGroup "animals"+-- > [ testCase "mammals" mammalsSpec+-- > , testCase "birds" birdsSpec+-- > ]+-- >+-- > mammalsSpec :: Spec+-- > mammalsSpec = do+-- > describe "cow" $ do+-- > it "moos" $+-- > speak cow `shouldBe` "moo"+-- >+-- > it "eats grass" $+-- > hungryFor cow `shouldBe` "grass"+-- >+-- > birdsSpec :: Spec+-- > birdsSpec = do+-- > describe "ostrich" $ do+-- > it "sticks its head in sand" $+-- > fmap (`shouldBe` InSand) getHeadState+testCase :: TestName -> Spec -> TestTree+testCase name = singleTest name . MySpec++newtype MySpec = MySpec Spec deriving Typeable++instance IsTest MySpec where+ run _ (MySpec spec) _ = do+ (Summary examples failures) <- hspecResult spec+ return $ Result (failures == 0) ""+ testOptions = return []
+ tasty-hspec.cabal view
@@ -0,0 +1,21 @@+name: tasty-hspec+version: 0.1+synopsis: Hspec support for the Tasty test framework.+description: Hspec support for the Tasty test framework.++homepage: http://github.com/mitchellwrosen/tasty-hspec+license: BSD3+license-file: LICENSE+author: Mitchell Rosen+maintainer: mitchellwrosen@gmail.com+category: Testing+build-type: Simple+cabal-version: >=1.10++library+ exposed-modules: Test.Tasty.Hspec+ other-extensions: DeriveDataTypeable+ build-depends: base ==4.*+ , hspec+ , tasty+ default-language: Haskell2010