lib: expectEq', expectParseEq: pretty-print compared values (#812)
This commit is contained in:
		
							parent
							
								
									e05188831e
								
							
						
					
					
						commit
						dab75d98c8
					
				| @ -7,6 +7,7 @@ import Control.Exception | |||||||
| import Control.Monad | import Control.Monad | ||||||
| import Control.Monad.State.Strict (StateT) | import Control.Monad.State.Strict (StateT) | ||||||
| --import Control.Monad.State.Strict (evalStateT) | --import Control.Monad.State.Strict (evalStateT) | ||||||
|  | import Data.CallStack | ||||||
| import Data.Functor.Identity | import Data.Functor.Identity | ||||||
| import Data.List | import Data.List | ||||||
| import qualified Data.Text as T | import qualified Data.Text as T | ||||||
| @ -102,7 +103,12 @@ runEasyTests args easytests = (do | |||||||
| expectParseEq :: (Monoid st, Eq a, Show a) => StateT st (ParsecT CustomErr T.Text Identity) a -> T.Text -> a -> EasyTest.Test () | expectParseEq :: (Monoid st, Eq a, Show a) => StateT st (ParsecT CustomErr T.Text Identity) a -> T.Text -> a -> EasyTest.Test () | ||||||
| expectParseEq parser input expected = do | expectParseEq parser input expected = do | ||||||
|   let ep = runIdentity $ parseWithState mempty parser input |   let ep = runIdentity $ parseWithState mempty parser input | ||||||
|   either (fail.("parse error at "++).parseErrorPretty) (flip expectEq expected) ep |   either (fail.("parse error at "++).parseErrorPretty) (flip expectEq' expected) ep | ||||||
|  | 
 | ||||||
|  | -- | Like easytest's expectEq, but pretty-prints the values in failure output.  | ||||||
|  | expectEq' :: (Eq a, Show a, HasCallStack) => a -> a -> EasyTest.Test () | ||||||
|  | expectEq' x y = if x == y then ok else crash $ | ||||||
|  |   "expected:\n" <> T.pack (pshow x) <> "\nbut got:\n" <> T.pack (pshow y) <> "\n" | ||||||
| 
 | 
 | ||||||
| -- | Run some hunit tests, returning True if there was a problem. | -- | Run some hunit tests, returning True if there was a problem. | ||||||
| -- With arguments, runs only tests whose names contain the first argument | -- With arguments, runs only tests whose names contain the first argument | ||||||
|  | |||||||
| @ -2,7 +2,7 @@ | |||||||
| -- | -- | ||||||
| -- see: https://github.com/sol/hpack | -- see: https://github.com/sol/hpack | ||||||
| -- | -- | ||||||
| -- hash: b52d450888004e007b3689cfe42d916ab8e8af3bc91a6a374ff022a719e86611 | -- hash: 297d8918f59c94ceae6e61bc5df3a67247c22d5cd135ae9f9ffc8fd84cf144d7 | ||||||
| 
 | 
 | ||||||
| name:           hledger-lib | name:           hledger-lib | ||||||
| version:        1.10.99 | version:        1.10.99 | ||||||
| @ -111,6 +111,7 @@ library | |||||||
|     , base-compat-batteries >=0.10.1 && <0.11 |     , base-compat-batteries >=0.10.1 && <0.11 | ||||||
|     , blaze-markup >=0.5.1 |     , blaze-markup >=0.5.1 | ||||||
|     , bytestring |     , bytestring | ||||||
|  |     , call-stack | ||||||
|     , cmdargs >=0.10 |     , cmdargs >=0.10 | ||||||
|     , containers |     , containers | ||||||
|     , csv |     , csv | ||||||
| @ -209,6 +210,7 @@ test-suite doctests | |||||||
|     , base-compat-batteries >=0.10.1 && <0.11 |     , base-compat-batteries >=0.10.1 && <0.11 | ||||||
|     , blaze-markup >=0.5.1 |     , blaze-markup >=0.5.1 | ||||||
|     , bytestring |     , bytestring | ||||||
|  |     , call-stack | ||||||
|     , cmdargs >=0.10 |     , cmdargs >=0.10 | ||||||
|     , containers |     , containers | ||||||
|     , csv |     , csv | ||||||
| @ -308,6 +310,7 @@ test-suite easytests | |||||||
|     , base-compat-batteries >=0.10.1 && <0.11 |     , base-compat-batteries >=0.10.1 && <0.11 | ||||||
|     , blaze-markup >=0.5.1 |     , blaze-markup >=0.5.1 | ||||||
|     , bytestring |     , bytestring | ||||||
|  |     , call-stack | ||||||
|     , cmdargs >=0.10 |     , cmdargs >=0.10 | ||||||
|     , containers |     , containers | ||||||
|     , csv |     , csv | ||||||
| @ -407,6 +410,7 @@ test-suite hunittests | |||||||
|     , base-compat-batteries >=0.10.1 && <0.11 |     , base-compat-batteries >=0.10.1 && <0.11 | ||||||
|     , blaze-markup >=0.5.1 |     , blaze-markup >=0.5.1 | ||||||
|     , bytestring |     , bytestring | ||||||
|  |     , call-stack | ||||||
|     , cmdargs >=0.10 |     , cmdargs >=0.10 | ||||||
|     , containers |     , containers | ||||||
|     , csv |     , csv | ||||||
|  | |||||||
| @ -45,6 +45,7 @@ dependencies: | |||||||
| - array | - array | ||||||
| - blaze-markup >=0.5.1 | - blaze-markup >=0.5.1 | ||||||
| - bytestring | - bytestring | ||||||
|  | - call-stack | ||||||
| - cmdargs >=0.10 | - cmdargs >=0.10 | ||||||
| - containers | - containers | ||||||
| - csv | - csv | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user