- -- liftIO $ defs `shouldBe` [Location (doc ^. uri) (mkRange 10 5 10 12)] -- Type definition
-
- describe "waitForDiagnosticsSource" $
- it "works" $ runSession "hie" fullCaps "test/data" $ do
- openDoc "Error.hs" "haskell"
- [diag] <- waitForDiagnosticsSource "ghcmod"
- liftIO $ do
- diag ^. severity `shouldBe` Just DsError
- diag ^. source `shouldBe` Just "ghcmod"
-
- describe "rename" $
- it "works" $ runSession "hie" fullCaps "test/data" $ do
- doc <- openDoc "Rename.hs" "haskell"
- rename doc (Position 1 0) "bar"
- documentContents doc >>= liftIO . shouldBe "main = bar\nbar = return 42\n"
-
- describe "getHover" $
- it "works" $ runSession "hie" fullCaps "test/data/renamePass" $ do
- doc <- openDoc "Desktop/simple.hs" "haskell"
- -- hover returns nothing until module is loaded
- skipManyTill loggingNotification $ count 2 noDiagnostics
- hover <- getHover doc (Position 45 9) -- putStrLn
- liftIO $ hover `shouldSatisfy` isJust
-
- describe "getHighlights" $
- it "works" $ runSession "hie" fullCaps "test/data/renamePass" $ do
- doc <- openDoc "Desktop/simple.hs" "haskell"
- skipManyTill loggingNotification $ count 2 noDiagnostics
- highlights <- getHighlights doc (Position 27 4) -- addItem
- liftIO $ length highlights `shouldBe` 4
-
- describe "formatDoc" $
- it "works" $ runSession "hie" fullCaps "test/data" $ do
- doc <- openDoc "Format.hs" "haskell"
- oldContents <- documentContents doc
- formatDoc doc (FormattingOptions 4 True)
- documentContents doc >>= liftIO . (`shouldNotBe` oldContents)
+ -- liftIO $ defs `shouldBe` [Location (doc ^. uri) (mkRange 10 0 14 19)] -- Type definition
+
+ -- describe "waitForDiagnosticsSource" $
+ -- it "works" $ runSession serverExe fullCaps "test/data" $ do
+ -- openDoc "Error.hs" "haskell"
+ -- [diag] <- waitForDiagnosticsSource "bios"
+ -- liftIO $ do
+ -- diag ^. severity `shouldBe` Just DsError
+ -- diag ^. source `shouldBe` Just "bios"
+
+ -- describe "rename" $ do
+ -- it "works" $ pendingWith "HaRe not in hie-bios yet"
+ -- it "works on javascript" $
+ -- runSession "javascript-typescript-stdio" fullCaps "test/data/javascriptPass" $ do
+ -- doc <- openDoc "test.js" "javascript"
+ -- rename doc (Position 2 11) "bar"
+ -- documentContents doc >>= liftIO . (`shouldContain` "function bar()") . T.unpack
+
+ -- describe "getHover" $
+ -- it "works" $ runSession serverExe fullCaps "test/data/renamePass" $ do
+ -- doc <- openDoc "Desktop/simple.hs" "haskell"
+ -- hover <- getHover doc (Position 45 9)
+ -- liftIO $ hover `shouldSatisfy` isJust