mdoc-0.1.0.0: test/Mdoc/Parse/MacroArgSpec.hs
-- |
--
-- Module : Mdoc.Parse.MacroArgSpec
-- Copyright : (c) 2026 Patrick Brisbin
-- License : AGPL-3
-- Maintainer : pbrisbin@gmail.com
-- Stability : experimental
-- Portability : POSIX
module Mdoc.Parse.MacroArgSpec
( spec
) where
import Mdoc.Prelude
import Data.Time (fromGregorian)
import Mdoc.Interpolation
import Mdoc.MacroArg
import Mdoc.Parse
import Mdoc.Parse.MacroArg
import Mdoc.Test.Parse
import Test.Hspec
spec :: Spec
spec = do
describe "parseMacroArg" $ do
it "parses the mdoc date macro" $ do
parseTest (parseMacroArg <* eol <* eof) ["$Mdocdate$"] $ Mdocdate Nothing
it "parses the mdoc date macro with explicit date" $ do
parseTest
(parseMacroArg <* eol <* eof)
["$Mdocdate: October 1 2020 $"]
$ Mdocdate
$ Just
$ fromGregorian 2020 10 1
it "parses interpolated arguments" $ do
parseTest (parseMacroArg <* eol <* eof) ["{{docTitle}}"]
$ InterpolatedArg DocTitle