Skip to content

Commit

Permalink
new multitarget tests
Browse files Browse the repository at this point in the history
  • Loading branch information
VenInf committed Aug 30, 2024
1 parent 7c5c43b commit 4f3171d
Show file tree
Hide file tree
Showing 5 changed files with 45 additions and 7 deletions.
11 changes: 8 additions & 3 deletions plugins/hls-cabal-plugin/test/CabalAdd.hs
Original file line number Diff line number Diff line change
Expand Up @@ -28,14 +28,17 @@ cabalAddTests :: TestTree
cabalAddTests =
testGroup
"CabalAdd Tests"
[ runHaskellTestCaseSession "Code Actions - Can add hidden package" ("cabal-add-testdata" </> "cabal-add-exe")
[ runHaskellTestCaseSession "Code Actions - Can add hidden packages" ("cabal-add-testdata" </> "cabal-add-exe")
(generateAddDependencyTestSession "cabal-add-exe.cabal" ("src" </> "Main.hs") "split" [253])
, runHaskellTestCaseSession "Code Actions - Can add hidden package to a library" ("cabal-add-testdata" </> "cabal-add-lib")
(generateAddDependencyTestSession "cabal-add-lib.cabal" ("src" </> "MyLib.hs") "split" [348])
, runHaskellTestCaseSession "Code Actions - Can add hidden package to a test" ("cabal-add-testdata" </> "cabal-add-tests")
(generateAddDependencyTestSession "cabal-add-tests.cabal" ("test" </> "Main.hs") "split" [478])
, runHaskellTestCaseSession "Code Actions - Can add hidden package to a benchmark" ("cabal-add-testdata" </> "cabal-add-bench")
(generateAddDependencyTestSession "cabal-add-bench.cabal" ("bench" </> "Main.hs") "split" [403])
, runHaskellTestCaseSession "Code Actions - Can add hidden packages for multiple targets" ("cabal-add-testdata" </> "cabal-add-multitarget")
(generateAddDependencyTestSession "cabal-add-multitarget.cabal" ("src" </> "Main.hs") "split" [261,345,590,754])

, testHiddenPackageSuggestions "Check CabalAdd's parser, no version"
[ "It is a member of the hidden package 'base'"
, "It is a member of the hidden package 'Blammo-wai'"
Expand Down Expand Up @@ -117,8 +120,10 @@ cabalAddTests =
_ <- waitForDiagnosticsFrom hsdoc
cas <- Maybe.mapMaybe (^? _R) <$> getAllCodeActions hsdoc
let selectedCas = filter (\ca -> "Add dependency" `T.isPrefixOf` (ca ^. L.title)) cas
mapM_ executeCodeAction selectedCas
_ <- skipManyTill anyMessage $ getDocumentEdit cabDoc -- Wait for the changes in cabal file
let runAvait codeAction = do
executeCodeAction codeAction
skipManyTill anyMessage $ getDocumentEdit cabDoc
mapM_ runAvait selectedCas
contents <- documentContents cabDoc
liftIO $ assertEqual (T.unpack dependency <> " isn't found in the cabal file") indicesRes (T.indices dependency contents)
testHiddenPackageSuggestions :: String -> [T.Text] -> [(T.Text, T.Text)] -> TestTree
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,3 @@ executable cabal-add-exe
ghc-options: -Wall
build-depends: base
default-language: Haskell2010

library
build-depends: base >= 4 && < 5
ghc-options: -Wall
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
cabal-version: 2.4
name: cabal-add-multitarget
version: 0.1.0.0
build-type: Simple

executable cabal-add-exe
main-is: Main.hs
hs-source-dirs: src
ghc-options: -Wall
build-depends: base
default-language: Haskell2010

library
build-depends: base >= 4 && < 5
ghc-options: -Wall

test-suite cabal-add-tests-test
default-language: Haskell2010
type: exitcode-stdio-1.0
hs-source-dirs: test
main-is: Main.hs
build-depends: base

benchmark benchmark
type: exitcode-stdio-1.0
ghc-options: -threaded
main-is: Main.hs
hs-source-dirs: bench
build-depends: base


Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
module Main where

import Data.List.Split

main = putStrLn "Hello, Haskell!"
Original file line number Diff line number Diff line change
Expand Up @@ -2,3 +2,4 @@ packages: cabal-add-exe
cabal-add-lib
cabal-add-tests
cabal-add-bench
cabal-add-multitarget

0 comments on commit 4f3171d

Please sign in to comment.