From d993ebce58acee1e53ee5693743463c5c402919e Mon Sep 17 00:00:00 2001 From: Jasper Van der Jeugt Date: Tue, 26 Feb 2013 19:20:55 +0100 Subject: Add testcase for #115 --- tests/Hakyll/Core/Provider/Metadata/Tests.hs | 53 ++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 tests/Hakyll/Core/Provider/Metadata/Tests.hs (limited to 'tests/Hakyll/Core/Provider/Metadata/Tests.hs') diff --git a/tests/Hakyll/Core/Provider/Metadata/Tests.hs b/tests/Hakyll/Core/Provider/Metadata/Tests.hs new file mode 100644 index 0000000..1217180 --- /dev/null +++ b/tests/Hakyll/Core/Provider/Metadata/Tests.hs @@ -0,0 +1,53 @@ +-------------------------------------------------------------------------------- +module Hakyll.Core.Provider.Metadata.Tests + ( tests + ) where + + +-------------------------------------------------------------------------------- +import Test.Framework (Test, testGroup) +import Test.HUnit (Assertion, (@=?)) +import Text.Parsec as P +import Text.Parsec.String (Parser) + + +-------------------------------------------------------------------------------- +import Hakyll.Core.Provider.Metadata +import TestSuite.Util + + +-------------------------------------------------------------------------------- +tests :: Test +tests = testGroup "Hakyll.Core.Provider.Metadata.Tests" $ + fromAssertions "page" [testPage01, testPage02] + + +-------------------------------------------------------------------------------- +testPage01 :: Assertion +testPage01 = testParse page ([("foo", "bar")], "qux\n") + "---\n\ + \foo: bar\n\ + \---\n\ + \qux\n" + + +-------------------------------------------------------------------------------- +testPage02 :: Assertion +testPage02 = testParse page + ([("description", descr)], "Hello I am dog\n") + "---\n\ + \description: A long description that would look better if it\n\ + \ spanned multiple lines and was indented\n\ + \---\n\ + \Hello I am dog\n" + where + descr = + "A long description that would look better if it \ + \spanned multiple lines and was indented" + + +-------------------------------------------------------------------------------- +testParse :: (Eq a, Show a) => Parser a -> a -> String -> Assertion +testParse parser expected input = case P.parse parser "" input of + Left err -> error $ show err + Right x -> expected @=? x -- cgit v1.2.3