diff options
author | Griffin Smith <root@gws.fyi> | 2019-09-01T17·54-0400 |
---|---|---|
committer | Griffin Smith <root@gws.fyi> | 2019-09-01T17·54-0400 |
commit | 2fd3e4c9ad28b77a0d167ceefe879ca80ee1ee04 (patch) | |
tree | 5eff1afdc250b733d8a001b6524afef49a062759 /test/Xanthous/OrphansSpec.hs | |
parent | 4ef19aa35a6d63a8d9f7b6a7a11ac82c2a525783 (diff) |
Implement messages
Implement messages almost the same as in the Rust version, only with YAML instead of TOML this time, and a regular old mustache template instead of something handrolled. Besides that, pretty much everything here is the same.
Diffstat (limited to 'test/Xanthous/OrphansSpec.hs')
-rw-r--r-- | test/Xanthous/OrphansSpec.hs | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/test/Xanthous/OrphansSpec.hs b/test/Xanthous/OrphansSpec.hs new file mode 100644 index 000000000000..3fe79ee56313 --- /dev/null +++ b/test/Xanthous/OrphansSpec.hs @@ -0,0 +1,31 @@ +{-# LANGUAGE BlockArguments #-} +module Xanthous.OrphansSpec where + +import Test.Prelude +import Xanthous.Orphans +import Text.Mustache +import Text.Megaparsec (errorBundlePretty) + +import Xanthous.Orphans () + +main :: IO () +main = defaultMain test + +test :: TestTree +test = testGroup "Xanthous.Orphans" + [ localOption (QuickCheckTests 50) + . localOption (QuickCheckMaxSize 10) + $ testGroup "Template" + [ testProperty "ppTemplate / compileMustacheText " \tpl -> + let src = ppTemplate tpl + res :: Either String Template + res = over _Left errorBundlePretty + $ compileMustacheText (templateActual tpl) src + expected = templateCache tpl ^?! at (templateActual tpl) + in + counterexample (unpack src) + $ Right expected === do + (Template actual cache) <- res + maybe (Left "Template not found") Right $ cache ^? at actual + ] + ] |