first-and-last 0.1.0.0 → 0.1.0.1
raw patch · 6 files changed
+19/−89 lines, 6 filesdep +doctestdep −CabalPVP ok
version bump matches the API change (PVP)
Dependencies added: doctest
Dependencies removed: Cabal
API changes (from Hackage documentation)
Files
- dist/build/GoldenStub/GoldenStub-tmp/GoldenStub.hs +0/−5
- first-and-last.cabal +5/−5
- src/Data/Monoid/First.hs +3/−0
- src/Data/Monoid/Last.hs +3/−0
- test/Golden.hs +0/−79
- test/doctests.hs +8/−0
− dist/build/GoldenStub/GoldenStub-tmp/GoldenStub.hs
@@ -1,5 +0,0 @@-module Main ( main ) where-import Distribution.Simple.Test.LibV09 ( stubMain )-import Golden ( tests )-main :: IO ()-main = stubMain tests
first-and-last.cabal view
@@ -1,5 +1,5 @@ name: first-and-last-version: 0.1.0.0+version: 0.1.0.1 synopsis: First and Last generalized to return up to n values description: This library provides data types @<Data-Monoid-First.html#t:First-39- First' n>@ and @<Data-Monoid-Last.html#t:Last-39- Last' n>@ generalizing @First@ and @Last@ from @<https://hackage.haskell.org/package/base/docs/Data-Monoid.html Data.Monoid>@ to return up to @n@ values.@@ -33,11 +33,11 @@ default-language: Haskell2010 ghc-options: -Wall -test-suite Golden- type: detailed-0.9- test-module: Golden+test-suite doctests+ main-is: doctests.hs+ type: exitcode-stdio-1.0 build-depends: base >=4.8 && <4.9,- Cabal >=1.22.4,+ doctest ==0.10.1, first-and-last hs-source-dirs: test default-language: Haskell2010
src/Data/Monoid/First.hs view
@@ -45,6 +45,9 @@ import GHC.TypeLits (KnownNat, Nat, natVal) import Prelude (($), (.), Char, Eq, Foldable(foldr), Functor, Maybe(Just, Nothing), Monoid(mappend, mempty), Ord, Read, Show, Traversable, fromIntegral, head, take) +-- $setup+-- >>> import Prelude+ -------------------------------------------------------------------------------- -- * First --------------------------------------------------------------------------------
src/Data/Monoid/Last.hs view
@@ -45,6 +45,9 @@ import GHC.TypeLits (KnownNat, Nat, natVal) import Prelude (($), (.), Char, Eq, Foldable(foldr), Functor, Int, Maybe(Just, Nothing), Monoid(mappend, mempty), Ord, Read, Show, Traversable, fromIntegral, drop, error, head) +-- $setup+-- >>> import Prelude+ -------------------------------------------------------------------------------- -- * Last --------------------------------------------------------------------------------
− test/Golden.hs
@@ -1,79 +0,0 @@-{-# LANGUAGE DataKinds #-}-{-# LANGUAGE NoImplicitPrelude #-}-{-# LANGUAGE OverloadedStrings #-}----------------------------------------------------------------------------------- |--- Module : Data.Monoid.First--- Copyright : (C) 2015 Mark Andrus Roberts--- License : BSD-style (see the file LICENSE)--- Maintainer : Mark Andrus Roberts <markandrusroberts@gmail.com>--- Stability : provisional---------------------------------------------------------------------------------module Golden where--import Data.Monoid.First-import Data.Monoid.Last-import Distribution.TestSuite (Progress(Finished), Result(Error, Pass), Test(Test), TestInstance(TestInstance, name, options, run, setOption, tags))-import Prelude (($), (++), (.), Bool, Eq((==)), Char, Int, IO, Show(show), String, foldMap, pure)--assert :: String -> Bool -> String -> Test-assert name' assertion error' =- let test = TestInstance- { name = name'- , options = []- , run = pure . Finished $- if assertion- then Pass- else Error error'- , setOption = \_ _ -> pure test- , tags = []- }- in Test test--assertEqual :: (Eq a, Show a) => (a, a) -> Test-assertEqual (a, b)- = assert (show a ++ " == " ++ show b) (a == b) (show a ++ " /= " ++ show b)--firstTest :: Test-firstTest = assertEqual- (getFirst (foldMap pure [1, 2, 3, 4]), pure 1)--first'0PureTest :: Test-first'0PureTest = assertEqual- (getFirst' (pure 1 :: First' 0 Int), [])--first'OverloadedStringTest :: Test-first'OverloadedStringTest = assertEqual- ("abcd" :: First' 2 Char, "ab" :: First' 2 Char)--firstOverloadedStringTest :: Test-firstOverloadedStringTest = assertEqual- ("abcd" :: First Char, "a" :: First Char)--lastTest :: Test-lastTest = assertEqual- (getLast (foldMap pure [1, 2, 3, 4]), pure 4)--last'0PureTest :: Test-last'0PureTest = assertEqual- (getLast' (pure 1 :: Last' 0 Int), [])--last'OverloadedStringTest :: Test-last'OverloadedStringTest = assertEqual- ("abcd" :: Last' 2 Char, "cd" :: Last' 2 Char)--lastOverloadedStringTest :: Test-lastOverloadedStringTest = assertEqual- ("abcd" :: Last Char, "d" :: Last Char)--tests :: IO [Test]-tests = pure- [ firstTest- , first'0PureTest- , first'OverloadedStringTest- , firstOverloadedStringTest- , lastTest- , last'0PureTest- , last'OverloadedStringTest- , lastOverloadedStringTest- ]
+ test/doctests.hs view
@@ -0,0 +1,8 @@+import Test.DocTest (doctest)++main :: IO ()+main = doctest+ [ "-XDataKinds"+ , "src/Data/Monoid/First.hs"+ , "src/Data/Monoid/Last.hs"+ ]