@@ -28,14 +28,17 @@ cabalAddTests :: TestTree
28
28
cabalAddTests =
29
29
testGroup
30
30
" CabalAdd Tests"
31
- [ runHaskellTestCaseSession " Code Actions - Can add hidden package " (" cabal-add-testdata" </> " cabal-add-exe" )
31
+ [ runHaskellTestCaseSession " Code Actions - Can add hidden packages " (" cabal-add-testdata" </> " cabal-add-exe" )
32
32
(generateAddDependencyTestSession " cabal-add-exe.cabal" (" src" </> " Main.hs" ) " split" [253 ])
33
33
, runHaskellTestCaseSession " Code Actions - Can add hidden package to a library" (" cabal-add-testdata" </> " cabal-add-lib" )
34
34
(generateAddDependencyTestSession " cabal-add-lib.cabal" (" src" </> " MyLib.hs" ) " split" [348 ])
35
35
, runHaskellTestCaseSession " Code Actions - Can add hidden package to a test" (" cabal-add-testdata" </> " cabal-add-tests" )
36
36
(generateAddDependencyTestSession " cabal-add-tests.cabal" (" test" </> " Main.hs" ) " split" [478 ])
37
37
, runHaskellTestCaseSession " Code Actions - Can add hidden package to a benchmark" (" cabal-add-testdata" </> " cabal-add-bench" )
38
38
(generateAddDependencyTestSession " cabal-add-bench.cabal" (" bench" </> " Main.hs" ) " split" [403 ])
39
+ , runHaskellTestCaseSession " Code Actions - Can add hidden packages for multiple targets" (" cabal-add-testdata" </> " cabal-add-multitarget" )
40
+ (generateAddDependencyTestSession " cabal-add-multitarget.cabal" (" src" </> " Main.hs" ) " split" [261 ,345 ,590 ,754 ])
41
+
39
42
, testHiddenPackageSuggestions " Check CabalAdd's parser, no version"
40
43
[ " It is a member of the hidden package 'base'"
41
44
, " It is a member of the hidden package 'Blammo-wai'"
@@ -117,8 +120,10 @@ cabalAddTests =
117
120
_ <- waitForDiagnosticsFrom hsdoc
118
121
cas <- Maybe. mapMaybe (^? _R) <$> getAllCodeActions hsdoc
119
122
let selectedCas = filter (\ ca -> " Add dependency" `T.isPrefixOf` (ca ^. L. title)) cas
120
- mapM_ executeCodeAction selectedCas
121
- _ <- skipManyTill anyMessage $ getDocumentEdit cabDoc -- Wait for the changes in cabal file
123
+ let runAvait codeAction = do
124
+ executeCodeAction codeAction
125
+ skipManyTill anyMessage $ getDocumentEdit cabDoc
126
+ mapM_ runAvait selectedCas
122
127
contents <- documentContents cabDoc
123
128
liftIO $ assertEqual (T. unpack dependency <> " isn't found in the cabal file" ) indicesRes (T. indices dependency contents)
124
129
testHiddenPackageSuggestions :: String -> [T. Text ] -> [(T. Text , T. Text )] -> TestTree
0 commit comments