File tree Expand file tree Collapse file tree 5 files changed +35
-0
lines changed
plugins/hls-cabal-plugin/test
testdata/cabal-add-testdata Expand file tree Collapse file tree 5 files changed +35
-0
lines changed Original file line number Diff line number Diff line change @@ -29,6 +29,8 @@ cabalAddTests =
29
29
" CabalAdd Tests"
30
30
[ runHaskellTestCaseSession " Code Actions - Can add hidden package" (" cabal-add-testdata" </> " cabal-add-exe" )
31
31
(generateAddDependencyTestSession " cabal-add-exe.cabal" (" src" </> " Main.hs" ) " split" [253 ])
32
+ , runHaskellTestCaseSession " Code Actions - Guard against HPack" (" cabal-add-testdata" </> " cabal-add-packageYaml" )
33
+ (generatePackageYAMLTestSession (" src" </> " Main.hs" ))
32
34
, runHaskellTestCaseSession " Code Actions - Can add hidden package to a library" (" cabal-add-testdata" </> " cabal-add-lib" )
33
35
(generateAddDependencyTestSession " cabal-add-lib.cabal" (" src" </> " MyLib.hs" ) " split" [348 ])
34
36
, runHaskellTestCaseSession " Code Actions - Can add hidden package to a test" (" cabal-add-testdata" </> " cabal-add-tests" )
@@ -139,3 +141,12 @@ cabalAddTests =
139
141
, _codeDescription = Nothing
140
142
, _data_ = Nothing
141
143
}
144
+
145
+
146
+ generatePackageYAMLTestSession :: FilePath -> Session ()
147
+ generatePackageYAMLTestSession haskellFile = do
148
+ hsdoc <- openDoc haskellFile " haskell"
149
+ _ <- waitForDiagnosticsFrom hsdoc
150
+ cas <- Maybe. mapMaybe (^? _R) <$> getAllCodeActions hsdoc
151
+ let selectedCas = filter (\ ca -> " Add dependency" `T.isPrefixOf` (ca ^. L. title)) cas
152
+ liftIO $ assertEqual " PackageYAML" [] selectedCas
Original file line number Diff line number Diff line change
1
+ cabal-version : 2.4
2
+ name : cabal-add-bench
3
+ version : 0.1.0.0
4
+ license : NONE
5
+ author : George Gerasev
6
+
7
+ build-type : Simple
8
+
9
+ common warnings
10
+ ghc-options : -Wall
11
+
12
+ benchmark benchmark
13
+ type : exitcode-stdio-1.0
14
+ ghc-options : -threaded
15
+ main-is : Main.hs
16
+ hs-source-dirs : bench
17
+ build-depends : base
Original file line number Diff line number Diff line change
1
+ module Main (main ) where
2
+
3
+ import Data.List.Split
4
+
5
+ main :: IO ()
6
+ main = putStrLn " Test suite not yet implemented."
Original file line number Diff line number Diff line change @@ -2,3 +2,4 @@ packages: cabal-add-exe
2
2
cabal-add-lib
3
3
cabal-add-tests
4
4
cabal-add-bench
5
+ cabal-add-packageYaml
You can’t perform that action at this time.
0 commit comments