it "further timeout messages are ignored" $ runSession "hie" 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 ()
it "don't throw when no time out" $ runSessionWithConfig (def {messageTimeout = 5}) "hie" fullCaps "test/data/renamePass" $ do
loggingNotification
- liftIO $ threadDelay 10
+ liftIO $ threadDelay $ 10 * 1000000
_ <- openDoc "Desktop/simple.hs" "haskell"
return ()
defs <- getDefinitions doc pos
liftIO $ defs `shouldBe` [Location (doc ^. uri) (mkRange 28 0 28 7)]
- -- describe "getTypeDefinitions" $
- -- it "works" $ runSession "hie" fullCaps "test/data/renamePass" $ 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 5 10 12)] -- Type definition
+ describe "getTypeDefinitions" $
+ it "works" $ runSession "hie" fullCaps "test/data/renamePass" $ 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 0 14 19)] -- Type definition
describe "waitForDiagnosticsSource" $
it "works" $ runSession "hie" fullCaps "test/data" $ do