Add withTimeout
[opengl.git] / test / ParsingTests.hs
1 {-# LANGUAGE OverloadedStrings #-}
2 {-# LANGUAGE FlexibleInstances #-}
3 module ParsingTests where
4
5 import Control.Lens hiding (List)
6 import Language.Haskell.LSP.Messages
7 import Language.Haskell.LSP.Test
8 import Language.Haskell.LSP.Types
9 import Data.Conduit
10 import Data.Conduit.Parser
11 import Data.Default
12 import Test.Hspec
13
14 type TestSession = ConduitParser FromServerMessage IO
15
16 instance MonadSessionConfig IO where
17   sessionConfig = return def
18
19 parsingSpec :: Spec
20 parsingSpec = return ()
21 --   describe "diagnostics" $ do
22 --     let testDiag = NotPublishDiagnostics
23 --                    (NotificationMessage "2.0"
24 --                                        TextDocumentPublishDiagnostics
25 --                                        (PublishDiagnosticsParams (Uri "foo")
26 --                                                                  (List [])))
27 --     it "get picked up" $ do
28 --       let source = yield testDiag
29 --           session = do
30 --             diags <- publishDiagnosticsNotification :: TestSession PublishDiagnosticsNotification
31 --             return $ diags ^. params . uri
32 --       runConduit (source .| runConduitParser session) `shouldReturn` Uri "foo"
33 --     it "get picked up after skipping others before" $ do
34 --       let testDiag = NotPublishDiagnostics
35 --                     (NotificationMessage "2.0"
36 --                                           TextDocumentPublishDiagnostics
37 --                                           (PublishDiagnosticsParams (Uri "foo")
38 --                                                                     (List [])))
39 --           notTestDiag = NotLogMessage (NotificationMessage "2.0" WindowLogMessage (LogMessageParams MtLog "foo"))
40 --           source = yield notTestDiag >> yield testDiag
41 --           session = do
42 --             diags <- skipManyTill anyNotification notification :: TestSession PublishDiagnosticsNotification
43 --             return $ diags ^. params . uri
44 --       runConduit (source .| runConduitParser session) `shouldReturn` Uri "foo"