diff options
author | Jasper Van der Jeugt <m@jaspervdj.be> | 2016-04-06 14:26:46 +0200 |
---|---|---|
committer | Jasper Van der Jeugt <m@jaspervdj.be> | 2016-04-06 14:26:46 +0200 |
commit | e81468e0f64fdbe05794d5f8ccaebc00ee474ee2 (patch) | |
tree | 882c422a312ed3e6eb8eaacfcc9c292a09296845 /tests/Hakyll/Core/Provider/Metadata | |
parent | 3f3e09672d3d279bc5cbaa8b3ac7508abc98aa2d (diff) | |
download | hakyll-e81468e0f64fdbe05794d5f8ccaebc00ee474ee2.tar.gz |
Initial YAML support
See #225
Diffstat (limited to 'tests/Hakyll/Core/Provider/Metadata')
-rw-r--r-- | tests/Hakyll/Core/Provider/Metadata/Tests.hs | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/tests/Hakyll/Core/Provider/Metadata/Tests.hs b/tests/Hakyll/Core/Provider/Metadata/Tests.hs index 1217180..fc609f2 100644 --- a/tests/Hakyll/Core/Provider/Metadata/Tests.hs +++ b/tests/Hakyll/Core/Provider/Metadata/Tests.hs @@ -5,14 +5,13 @@ module Hakyll.Core.Provider.Metadata.Tests -------------------------------------------------------------------------------- +import qualified Data.HashMap.Strict as HMS +import qualified Data.Text as T +import qualified Data.Yaml as Yaml +import Hakyll.Core.Metadata +import Hakyll.Core.Provider.Metadata 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 @@ -22,9 +21,11 @@ tests = testGroup "Hakyll.Core.Provider.Metadata.Tests" $ fromAssertions "page" [testPage01, testPage02] + -------------------------------------------------------------------------------- testPage01 :: Assertion -testPage01 = testParse page ([("foo", "bar")], "qux\n") +testPage01 = + Right (meta [("foo", "bar")], "qux\n") @=? parsePage "---\n\ \foo: bar\n\ \---\n\ @@ -33,21 +34,21 @@ testPage01 = testParse page ([("foo", "bar")], "qux\n") -------------------------------------------------------------------------------- testPage02 :: Assertion -testPage02 = testParse page - ([("description", descr)], "Hello I am dog\n") +testPage02 = + Right (meta [("description", descr)], "Hello I am dog\n") @=? + parsePage "---\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 :: String 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 "<inline>" input of - Left err -> error $ show err - Right x -> expected @=? x +meta :: Yaml.ToJSON a => [(String, a)] -> Metadata +meta pairs = HMS.fromList [(T.pack k, Yaml.toJSON v) | (k, v) <- pairs] |