X-Git-Url: http://git.lukelau.me/?p=lsp-test.git;a=blobdiff_plain;f=test%2FTest.hs;h=56bd01dd0a1a5ec4d2ae65418706acf19620f0e0;hp=a17be20f7f151f725e85c32b3031bb301692b81a;hb=35ce787a5458ffdce71923e40464448d6ea71801;hpb=52fa38c9702407f58aeea09c6bded442d672d7fd diff --git a/test/Test.hs b/test/Test.hs index a17be20..56bd01d 100644 --- a/test/Test.hs +++ b/test/Test.hs @@ -267,6 +267,7 @@ main = hspec $ do skipManyTill loggingNotification $ count 2 noDiagnostics hover <- getHover doc (Position 45 9) -- putStrLn liftIO $ hover `shouldSatisfy` isJust + describe "getHighlights" $ it "works" $ runSession "hie --lsp" "test/data/renamePass" $ do doc <- openDoc "Desktop/simple.hs" "haskell" @@ -274,6 +275,20 @@ main = hspec $ do highlights <- getHighlights doc (Position 27 4) -- addItem liftIO $ length highlights `shouldBe` 4 + describe "formatDoc" $ + it "works" $ runSession "hie --lsp" "test/data" $ do + doc <- openDoc "Format.hs" "haskell" + oldContents <- documentContents doc + formatDoc doc (FormattingOptions 4 True) + documentContents doc >>= liftIO . (`shouldNotBe` oldContents) + + describe "formatRange" $ + it "works" $ runSession "hie --lsp" "test/data" $ do + doc <- openDoc "Format.hs" "haskell" + oldContents <- documentContents doc + formatRange doc (FormattingOptions 4 True) (Range (Position 1 10) (Position 2 10)) + documentContents doc >>= liftIO . (`shouldNotBe` oldContents) + mkRange sl sc el ec = Range (Position sl sc) (Position el ec) didChangeCaps :: ClientCapabilities