44
55module FunctionalCodeAction (tests ) where
66
7- import Control.Lens hiding (List )
7+ import Control.Lens hiding (List )
88import Control.Monad
99import Data.Aeson
10- import Data.Aeson.Lens (_Object )
10+ import Data.Aeson.Lens (_Object )
1111import Data.List
12- import qualified Data.Map as M
12+ import qualified Data.Map as M
1313import Data.Maybe
14- import qualified Data.Text as T
14+ import qualified Data.Text as T
15+ import Development.IDE.Core.Compile (sourceTypecheck )
16+ import Development.IDE.Test (configureCheckProject )
1517import Ide.Plugin.Config
16- import qualified Language.LSP.Protocol.Lens as L
17- import Language.LSP.Test as Test
18+ import qualified Language.LSP.Protocol.Lens as L
19+ import Language.LSP.Test as Test
1820import Test.Hls
19- import Test.Hspec.Expectations
20-
21- import Development.IDE.Test (configureCheckProject )
2221import Test.Hls.Command
22+ import Test.Hspec.Expectations
2323
2424{-# ANN module ("HLint: ignore Reduce duplication"::String) #-}
2525
@@ -43,7 +43,7 @@ renameTests = testGroup "rename suggestions" [
4343 testCase " works" $ runSession hlsCommand noLiteralCaps " test/testdata" $ do
4444 doc <- openDoc " CodeActionRename.hs" " haskell"
4545
46- _ <- waitForDiagnosticsFromSource doc " typecheck "
46+ _ <- waitForDiagnosticsFromSource doc ( T. unpack sourceTypecheck)
4747
4848 cars <- getAllCodeActions doc
4949 replaceButStrLn <- liftIO $ inspectCommand cars [" Replace with" , " putStrLn" ]
@@ -58,7 +58,7 @@ renameTests = testGroup "rename suggestions" [
5858 configureCheckProject False
5959 doc <- openDoc " CodeActionRename.hs" " haskell"
6060
61- _ <- waitForDiagnosticsFromSource doc " typecheck "
61+ _ <- waitForDiagnosticsFromSource doc ( T. unpack sourceTypecheck)
6262
6363 cars <- getAllCodeActions doc
6464 cmd <- liftIO $ inspectCommand cars [" Replace with" , " putStrLn" ]
@@ -235,7 +235,7 @@ redundantImportTests = testGroup "redundant import code actions" [
235235 runSession hlsCommand fullCaps " test/testdata/redundantImportTest/" $ do
236236 doc <- openDoc " src/CodeActionRedundant.hs" " haskell"
237237
238- diags <- waitForDiagnosticsFromSource doc " typecheck "
238+ diags <- waitForDiagnosticsFromSource doc ( T. unpack sourceTypecheck)
239239 liftIO $ expectDiagnostic diags [ " The import of" , " Data.List" , " is redundant" ]
240240 liftIO $ expectDiagnostic diags [ " Empty" , " from module" , " Data.Sequence" ]
241241
@@ -281,7 +281,7 @@ redundantImportTests = testGroup "redundant import code actions" [
281281
282282 , testCase " doesn't touch other imports" $ runSession hlsCommand noLiteralCaps " test/testdata/redundantImportTest/" $ do
283283 doc <- openDoc " src/MultipleImports.hs" " haskell"
284- _ <- waitForDiagnosticsFromSource doc " typecheck "
284+ _ <- waitForDiagnosticsFromSource doc ( T. unpack sourceTypecheck)
285285 cas <- getAllCodeActions doc
286286 cmd <- liftIO $ inspectCommand cas [" redundant import" ]
287287 executeCommand cmd
@@ -303,7 +303,7 @@ typedHoleTests = testGroup "typed hole code actions" [
303303 runSession hlsCommand fullCaps " test/testdata" $ do
304304 disableWingman
305305 doc <- openDoc " TypedHoles.hs" " haskell"
306- _ <- waitForDiagnosticsFromSource doc " typecheck "
306+ _ <- waitForDiagnosticsFromSource doc ( T. unpack sourceTypecheck)
307307 cas <- getAllCodeActions doc
308308 liftIO $ do
309309 expectCodeAction cas [" replace _ with minBound" ]
@@ -324,7 +324,7 @@ typedHoleTests = testGroup "typed hole code actions" [
324324 testCase " doesn't work when wingman is active" $
325325 runSession hlsCommand fullCaps " test/testdata" $ do
326326 doc <- openDoc " TypedHoles.hs" " haskell"
327- _ <- waitForDiagnosticsFromSource doc " typecheck "
327+ _ <- waitForDiagnosticsFromSource doc ( T. unpack sourceTypecheck)
328328 cas <- getAllCodeActions doc
329329 liftIO $ do
330330 dontExpectCodeAction cas [" replace _ with minBound" ]
@@ -334,7 +334,7 @@ typedHoleTests = testGroup "typed hole code actions" [
334334 runSession hlsCommand fullCaps " test/testdata" $ do
335335 disableWingman
336336 doc <- openDoc " TypedHoles2.hs" " haskell"
337- _ <- waitForDiagnosticsFromSource doc " typecheck "
337+ _ <- waitForDiagnosticsFromSource doc ( T. unpack sourceTypecheck)
338338 cas <- getAllCodeActions doc
339339
340340 liftIO $ do
@@ -359,7 +359,7 @@ typedHoleTests = testGroup "typed hole code actions" [
359359 testCase " doesnt show more suggestions when wingman is active" $
360360 runSession hlsCommand fullCaps " test/testdata" $ do
361361 doc <- openDoc " TypedHoles2.hs" " haskell"
362- _ <- waitForDiagnosticsFromSource doc " typecheck "
362+ _ <- waitForDiagnosticsFromSource doc ( T. unpack sourceTypecheck)
363363 cas <- getAllCodeActions doc
364364
365365 liftIO $ do
@@ -373,7 +373,7 @@ signatureTests = testGroup "missing top level signature code actions" [
373373 runSession hlsCommand fullCaps " test/testdata/" $ do
374374 doc <- openDoc " TopLevelSignature.hs" " haskell"
375375
376- _ <- waitForDiagnosticsFromSource doc " typecheck "
376+ _ <- waitForDiagnosticsFromSource doc ( T. unpack sourceTypecheck)
377377 cas <- getAllCodeActions doc
378378
379379 liftIO $ expectCodeAction cas [" add signature: main :: IO ()" ]
@@ -400,7 +400,7 @@ unusedTermTests = testGroup "unused term code actions" [
400400 runSession hlsCommand fullCaps " test/testdata/" $ do
401401 doc <- openDoc " UnusedTerm.hs" " haskell"
402402
403- _ <- waitForDiagnosticsFromSource doc " typecheck "
403+ _ <- waitForDiagnosticsFromSource doc ( T. unpack sourceTypecheck)
404404 cars <- getAllCodeActions doc
405405 prefixImUnused <- liftIO $ inspectCodeAction cars [" Prefix imUnused with _" ]
406406
0 commit comments