Skip to content

Commit 4f3171d

Browse files
committed
new multitarget tests
1 parent 7c5c43b commit 4f3171d

File tree

5 files changed

+45
-7
lines changed

5 files changed

+45
-7
lines changed

plugins/hls-cabal-plugin/test/CabalAdd.hs

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,17 @@ cabalAddTests :: TestTree
2828
cabalAddTests =
2929
testGroup
3030
"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")
3232
(generateAddDependencyTestSession "cabal-add-exe.cabal" ("src" </> "Main.hs") "split" [253])
3333
, runHaskellTestCaseSession "Code Actions - Can add hidden package to a library" ("cabal-add-testdata" </> "cabal-add-lib")
3434
(generateAddDependencyTestSession "cabal-add-lib.cabal" ("src" </> "MyLib.hs") "split" [348])
3535
, runHaskellTestCaseSession "Code Actions - Can add hidden package to a test" ("cabal-add-testdata" </> "cabal-add-tests")
3636
(generateAddDependencyTestSession "cabal-add-tests.cabal" ("test" </> "Main.hs") "split" [478])
3737
, runHaskellTestCaseSession "Code Actions - Can add hidden package to a benchmark" ("cabal-add-testdata" </> "cabal-add-bench")
3838
(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+
3942
, testHiddenPackageSuggestions "Check CabalAdd's parser, no version"
4043
[ "It is a member of the hidden package 'base'"
4144
, "It is a member of the hidden package 'Blammo-wai'"
@@ -117,8 +120,10 @@ cabalAddTests =
117120
_ <- waitForDiagnosticsFrom hsdoc
118121
cas <- Maybe.mapMaybe (^? _R) <$> getAllCodeActions hsdoc
119122
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
122127
contents <- documentContents cabDoc
123128
liftIO $ assertEqual (T.unpack dependency <> " isn't found in the cabal file") indicesRes (T.indices dependency contents)
124129
testHiddenPackageSuggestions :: String -> [T.Text] -> [(T.Text, T.Text)] -> TestTree

plugins/hls-cabal-plugin/test/testdata/cabal-add-testdata/cabal-add-exe/cabal-add-exe.cabal

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,3 @@ executable cabal-add-exe
99
ghc-options: -Wall
1010
build-depends: base
1111
default-language: Haskell2010
12-
13-
library
14-
build-depends: base >= 4 && < 5
15-
ghc-options: -Wall
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
cabal-version: 2.4
2+
name: cabal-add-multitarget
3+
version: 0.1.0.0
4+
build-type: Simple
5+
6+
executable cabal-add-exe
7+
main-is: Main.hs
8+
hs-source-dirs: src
9+
ghc-options: -Wall
10+
build-depends: base
11+
default-language: Haskell2010
12+
13+
library
14+
build-depends: base >= 4 && < 5
15+
ghc-options: -Wall
16+
17+
test-suite cabal-add-tests-test
18+
default-language: Haskell2010
19+
type: exitcode-stdio-1.0
20+
hs-source-dirs: test
21+
main-is: Main.hs
22+
build-depends: base
23+
24+
benchmark benchmark
25+
type: exitcode-stdio-1.0
26+
ghc-options: -threaded
27+
main-is: Main.hs
28+
hs-source-dirs: bench
29+
build-depends: base
30+
31+
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
module Main where
2+
3+
import Data.List.Split
4+
5+
main = putStrLn "Hello, Haskell!"

plugins/hls-cabal-plugin/test/testdata/cabal-add-testdata/cabal.project

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,4 @@ packages: cabal-add-exe
22
cabal-add-lib
33
cabal-add-tests
44
cabal-add-bench
5+
cabal-add-multitarget

0 commit comments

Comments
 (0)