X-Git-Url: http://git.lukelau.me/?a=blobdiff_plain;f=test%2FTest.hs;h=15f457f7852648082ed76a9334ff1da12b71dd9d;hb=7ca8d96479f8ee8711e774b9a74ab5f27e150d1f;hp=c5b02e8f91842c85d07b07cd1198dcffc7ee530e;hpb=12f6e7e7c1d2603712de134477a470bfa72ecf4b;p=lsp-test.git diff --git a/test/Test.hs b/test/Test.hs index c5b02e8..15f457f 100644 --- a/test/Test.hs +++ b/test/Test.hs @@ -60,10 +60,14 @@ main = hspec $ do withTimeout 5 $ skipManyTill anyMessage publishDiagnosticsNotification in void $ timeout 6000000 sesh - it "further timeout messages are ignored" $ runSession "hie" fullCaps "test/data/renamePass" $ do + it "further timeout messages are ignored" $ runSessionWithConfig (defaultConfig { logStdErr = True }) "hie -d --vomit" fullCaps "test/data/renamePass" $ do doc <- openDoc "Desktop/simple.hs" "haskell" + -- warm up the cache + getDocumentSymbols doc + -- shouldn't timeout withTimeout 3 $ getDocumentSymbols doc - liftIO $ threadDelay 5000000 + -- longer than the original timeout + liftIO $ threadDelay (5 * 10^6) -- shouldn't throw an exception getDocumentSymbols doc return () @@ -264,7 +268,7 @@ main = hspec $ do doc <- openDoc "Desktop/simple.hs" "haskell" let pos = Position 20 23 -- Quit value defs <- getTypeDefinitions doc pos - liftIO $ defs `shouldBe` [Location (doc ^. uri) (mkRange 10 15 10 19)] -- First constructor + liftIO $ defs `shouldBe` [Location (doc ^. uri) (mkRange 10 0 14 19)] -- Type definition describe "waitForDiagnosticsSource" $ it "works" $ runSession "hie" fullCaps "test/data" $ do @@ -319,6 +323,13 @@ main = hspec $ do documentContents doc >>= liftIO . print in sesh `shouldThrow` anyException + describe "satisfy" $ + it "works" $ runSession "hie" fullCaps "test/data" $ do + openDoc "Format.hs" "haskell" + let pred (NotLogMessage _) = True + pred _ = False + void $ satisfy pred + mkRange sl sc el ec = Range (Position sl sc) (Position el ec) didChangeCaps :: ClientCapabilities