lsp-types-2.0.0.0: test/CapabilitiesSpec.hs
{-# LANGUAGE DuplicateRecordFields #-}
{-# OPTIONS_GHC -Wno-incomplete-uni-patterns #-}
module CapabilitiesSpec where
import Language.LSP.Protocol.Types
import Language.LSP.Protocol.Capabilities
import Test.Hspec
spec :: Spec
spec = describe "capabilities" $ do
it "gives 3.10 capabilities" $
let ClientCapabilities{_textDocument=Just tdcs} = capsForVersion (LSPVersion 3 10)
Just (DocumentSymbolClientCapabilities{_hierarchicalDocumentSymbolSupport=mHierarchical}) = _documentSymbol tdcs
in mHierarchical `shouldBe` Just True
it "gives pre 3.10 capabilities" $
let ClientCapabilities{_textDocument=Just tdcs} = capsForVersion (LSPVersion 3 9)
Just (DocumentSymbolClientCapabilities{_hierarchicalDocumentSymbolSupport=mHierarchical}) = _documentSymbol tdcs
in mHierarchical `shouldBe` Nothing