X-Git-Url: http://git.lukelau.me/?p=lsp-test.git;a=blobdiff_plain;f=test%2FTest.hs;h=d9ecf219e7779794e39bb2fa053f264e186b704a;hp=d83d03d5082b2cc138b2ea9bcfb86b984954cdfd;hb=0f8b9d328f4d950ff0a2e1c3b5aed593b21c2d3a;hpb=ea5db1975df3a208798ce2c44dc71fb8123fabd3 diff --git a/test/Test.hs b/test/Test.hs index d83d03d..d9ecf21 100644 --- a/test/Test.hs +++ b/test/Test.hs @@ -7,13 +7,14 @@ import Data.Aeson import Data.Default import qualified Data.HashMap.Strict as HM import Data.Maybe +import Control.Concurrent import Control.Monad.IO.Class import Control.Lens hiding (List) import GHC.Generics import Language.Haskell.LSP.Test import Language.Haskell.LSP.Test.Replay import Language.Haskell.LSP.TH.ClientCapabilities -import Language.Haskell.LSP.Types +import Language.Haskell.LSP.Types hiding (capabilities) import ParsingTests main = hspec $ do @@ -51,7 +52,20 @@ main = hspec $ do let caps = def { _workspace = Just workspaceCaps } workspaceCaps = def { _didChangeConfiguration = Just configCaps } configCaps = DidChangeConfigurationClientCapabilities (Just True) - runSessionWithCapabilities caps "hie --lsp" "test/data/renamePass" $ return () + conf = def { capabilities = caps } + runSessionWithConfig conf "hie --lsp" "test/data/renamePass" $ return () + + it "times out" $ + let sesh = runSessionWithConfig (def {timeout = 10}) "hie --lsp" "test/data/renamePass" $ do + skipMany loggingNotification + _ <- request :: Session ApplyWorkspaceEditRequest + return () + in sesh `shouldThrow` anySessionException + + it "doesn't time out" $ runSessionWithConfig (def {timeout = 10}) "hie --lsp" "test/data/renamePass" $ do + loggingNotification + liftIO $ threadDelay 5 + describe "replay session" $ do it "passes a test" $