X-Git-Url: http://git.lukelau.me/?a=blobdiff_plain;f=test%2FParsingTests.hs;h=fe8d36671d7fca4192498a12a3445c67a1d3a397;hb=493d20ada6e48a8987e00a5ec92a1b31fe3c9b8c;hp=c8977b53e33f6915be4aae84bfa19d0c88b89578;hpb=bc52b000bf018360efbfa0fcd289329c70d2c77e;p=opengl.git diff --git a/test/ParsingTests.hs b/test/ParsingTests.hs index c8977b5..fe8d366 100644 --- a/test/ParsingTests.hs +++ b/test/ParsingTests.hs @@ -1,4 +1,5 @@ {-# LANGUAGE OverloadedStrings #-} +{-# LANGUAGE FlexibleInstances #-} module ParsingTests where import Control.Lens hiding (List) @@ -7,8 +8,14 @@ import Language.Haskell.LSP.Test import Language.Haskell.LSP.Types import Data.Conduit import Data.Conduit.Parser +import Data.Default import Test.Hspec +type TestSession = ConduitParser FromServerMessage IO + +instance MonadSessionConfig IO where + sessionConfig = return def + parsingSpec :: Spec parsingSpec = describe "diagnostics" $ do @@ -20,7 +27,7 @@ parsingSpec = it "get picked up" $ do let source = yield testDiag session = do - diags <- publishDiagnosticsNotification :: ConduitParser FromServerMessage IO PublishDiagnosticsNotification + diags <- publishDiagnosticsNotification :: TestSession PublishDiagnosticsNotification return $ diags ^. params . uri runConduit (source .| runConduitParser session) `shouldReturn` Uri "foo" it "get picked up after skipping others before" $ do @@ -32,6 +39,6 @@ parsingSpec = notTestDiag = NotLogMessage (NotificationMessage "2.0" WindowLogMessage (LogMessageParams MtLog "foo")) source = yield notTestDiag >> yield testDiag session = do - diags <- skipManyTill anyNotification notification :: ConduitParser FromServerMessage IO PublishDiagnosticsNotification + diags <- skipManyTill anyNotification notification :: TestSession PublishDiagnosticsNotification return $ diags ^. params . uri runConduit (source .| runConduitParser session) `shouldReturn` Uri "foo" \ No newline at end of file