on master help sign in
Fix test failure
commitf90585648ea183afd3361defccbc0a934f240a7c authorJasper Van der Jeugt <m@jaspervdj.be> dateThu 21 Apr 2016, 21:16 (11 years ago) parent665ee0c
1 file changed+11−3
tests/Hakyll/Core/Provider/Metadata/Tests.hs+11−3
tests/Hakyll/Core/Provider/Metadata/Tests.hs+11−3
@@ -11,7 +11,7 @@ import qualified Data.Yaml as Yaml
1111import Hakyll.Core.Metadata
1212import Hakyll.Core.Provider.Metadata
1313import Test.Framework (Test, testGroup)
14−import Test.HUnit (Assertion, (@=?))
14+import Test.HUnit (Assertion, (@=?), assertFailure)
1515import TestSuite.Util
1616
1717
@@ -25,7 +25,7 @@ tests = testGroup "Hakyll.Core.Provider.Metadata.Tests" $
2525--------------------------------------------------------------------------------
2626testPage01 :: Assertion
2727testPage01 =
28− Right (meta [("foo", "bar")], "qux\n") @=? parsePage
28+ (meta [("foo", "bar")], "qux\n") `expectRight` parsePage
2929 "---\n\
3030 \foo: bar\n\
3131 \---\n\
@@ -35,7 +35,7 @@ testPage01 =
3535--------------------------------------------------------------------------------
3636testPage02 :: Assertion
3737testPage02 =
38− Right (meta [("description", descr)], "Hello I am dog\n") @=?
38+ (meta [("description", descr)], "Hello I am dog\n") `expectRight`
3939 parsePage
4040 "---\n\
4141 \description: A long description that would look better if it\n\
@@ -52,3 +52,11 @@ testPage02 =
5252--------------------------------------------------------------------------------
5353meta :: Yaml.ToJSON a => [(String, a)] -> Metadata
5454meta pairs = HMS.fromList [(T.pack k, Yaml.toJSON v) | (k, v) <- pairs]
55+
56+
57+--------------------------------------------------------------------------------
58+-- | This is useful when the 'Left' side of 'Either' doesn't have an 'Eq'
59+-- instance.
60+expectRight :: (Eq b, Show a, Show b) => b -> Either a b -> Assertion
61+expectRight _ (Left err) = assertFailure (show err)
62+expectRight expected (Right res) = expected @=? res