haskell-lsp-0.9.0.0: test/TypesSpec.hs
{-# LANGUAGE OverloadedStrings #-}
module TypesSpec where
import Data.Monoid
import qualified Language.Haskell.LSP.Types as J
import Test.Hspec
-- ---------------------------------------------------------------------
main :: IO ()
main = hspec spec
spec :: Spec
spec = diagnosticsSpec
-- ---------------------------------------------------------------------
diagnosticsSpec :: Spec
diagnosticsSpec = do
describe "MarkupContent" $ do
it "appends two plainstrings" $ do
J.unmarkedUpContent "string1\n" <> J.unmarkedUpContent "string2\n"
`shouldBe` J.unmarkedUpContent "string1\nstring2\n"
it "appends a marked up and a plain string" $ do
J.markedUpContent "haskell" "foo :: Int" <> J.unmarkedUpContent "string2\n"
`shouldBe` J.MarkupContent J.MkMarkdown "```haskell\nfoo :: Int\n```\nstring2\n"
it "appends a plain string and a marked up string" $ do
J.unmarkedUpContent "string2\n" <> J.markedUpContent "haskell" "foo :: Int"
`shouldBe` J.MarkupContent J.MkMarkdown "string2\n```haskell\nfoo :: Int\n```\n"
-- ---------------------------------------------------------------------