X-Git-Url: http://git.lukelau.me/?a=blobdiff_plain;f=test%2FTest.hs;h=73a7b45431a41f0974977e759c3b477f86e68060;hb=fa0bdbf2ca975ea2493d0fcfaa6cb63c076567c1;hp=d524ee4ffe15c666c8feaabdd5c518e804782a58;hpb=9dbcb47a59e389b2dcc4e86cde6b626a2f17e38a;p=lsp-test.git diff --git a/test/Test.hs b/test/Test.hs index d524ee4..73a7b45 100644 --- a/test/Test.hs +++ b/test/Test.hs @@ -18,7 +18,10 @@ import GHC.Generics import Language.Haskell.LSP.Messages import Language.Haskell.LSP.Test import Language.Haskell.LSP.Test.Replay -import Language.Haskell.LSP.Types as LSP hiding (capabilities, message) +import Language.Haskell.LSP.Types +import Language.Haskell.LSP.Types.Lens as LSP hiding + (capabilities, message, rename, applyEdit) +import Language.Haskell.LSP.Types.Capabilities as LSP import System.Timeout {-# ANN module ("HLint: ignore Reduce duplication" :: String) #-} @@ -118,9 +121,10 @@ main = hspec $ do in runSession "hie --lsp" fullCaps "test/data/renamePass" sesh `shouldThrow` selector - describe "replaySession" $ do - it "passes a test" $ - replaySession "hie --lsp" "test/data/renamePass" + describe "replaySession" $ + -- This is too fickle at the moment + -- it "passes a test" $ + -- replaySession "hie --lsp" "test/data/renamePass" it "fails a test" $ let selector (ReplayOutOfOrder _ _) = True selector _ = False @@ -176,6 +180,13 @@ main = hspec $ do liftIO $ contents `shouldBe` "main :: IO Int\nmain = return 42\n" noDiagnostics + describe "getCodeActions" $ + it "works" $ runSession "hie" fullCaps "test/data/refactor" $ do + doc <- openDoc "Main.hs" "haskell" + waitForDiagnostics + [CACodeAction action] <- getCodeActions doc (Range (Position 1 14) (Position 1 18)) + liftIO $ action ^. title `shouldBe` "Apply hint:Redundant bracket" + describe "getAllCodeActions" $ it "works" $ runSession "hie --lsp" fullCaps "test/data/refactor" $ do doc <- openDoc "Main.hs" "haskell" @@ -199,7 +210,7 @@ main = hspec $ do liftIO $ do mainSymbol ^. name `shouldBe` "main" mainSymbol ^. kind `shouldBe` SkFunction - mainSymbol ^. range `shouldBe` Range (Position 3 0) (Position 3 4) + mainSymbol ^. range `shouldBe` Range (Position 3 0) (Position 5 30) describe "applyEdit" $ do it "increments the version" $ runSession "hie --lsp" docChangesCaps "test/data/renamePass" $ do