packages feed

mdoc-0.1.0.0: test/Mdoc/Parse/TableLineSpec.hs

-- |
--
-- Module      : Mdoc.Parse.TableLineSpec
-- Copyright   : (c) 2026 Patrick Brisbin
-- License     : AGPL-3
-- Maintainer  : pbrisbin@gmail.com
-- Stability   : experimental
-- Portability : POSIX
module Mdoc.Parse.TableLineSpec
  ( spec
  ) where

import Mdoc.Prelude

import Mdoc.Parse
import Mdoc.Parse.TableLine
import Mdoc.TableLine
import Mdoc.Test.Parse
import Test.Hspec

spec :: Spec
spec = do
  describe "parseTableLine" $ do
    it "parses opaque table lines" $ do
      parseTest
        (parseTableLines <* eol <* eof)
        [ ".TS"
        , "allbox;"
        , "lb lb lb"
        , "l l l."
        , "Interface\tAttribute\tValue"
        , "T{"
        , ".Nm crypt"
        , "T}\tThread safety\tMT-Unsafe race:crypt"
        , "T{"
        , ".Nm crypt_r ,"
        , ".Nm crypt_rn ,"
        , ".Nm crypt_ra"
        , "T}\tThread safety\tMT-Safe"
        , ".TE"
        ]
        [ TableLine "allbox;"
        , TableLine "lb lb lb"
        , TableLine "l l l."
        , TableLine "Interface\tAttribute\tValue"
        , TableLine "T{"
        , TableLine ".Nm crypt"
        , TableLine "T}\tThread safety\tMT-Unsafe race:crypt"
        , TableLine "T{"
        , TableLine ".Nm crypt_r ,"
        , TableLine ".Nm crypt_rn ,"
        , TableLine ".Nm crypt_ra"
        , TableLine "T}\tThread safety\tMT-Safe"
        ]