@@ -5,17 +5,19 @@ module Main
5
5
( main
6
6
) where
7
7
8
- import Control.Lens ((^.) )
9
- import Data.Either (isRight )
8
+ import Control.Lens ((^.) )
9
+ import qualified Data.ByteString as BS
10
+ import Data.Either (isRight )
10
11
import Data.Function
11
- import qualified Data.Text as Text
12
+ import qualified Data.Text as Text
12
13
import Development.IDE.Types.Logger
13
14
import Ide.Plugin.Cabal
14
- import qualified Ide.Plugin.Cabal.Parse as Lib
15
- import qualified Language.LSP.Types.Lens as J
15
+ import Ide.Plugin.Cabal.LicenseSuggest (licenseErrorSuggestion )
16
+ import qualified Ide.Plugin.Cabal.Parse as Lib
17
+ import qualified Language.LSP.Types.Lens as J
16
18
import System.FilePath
17
19
import Test.Hls
18
- import qualified Data.ByteString as BS
20
+
19
21
20
22
cabalPlugin :: Recorder (WithPriority Log ) -> PluginDescriptor IdeState
21
23
cabalPlugin recorder = descriptor recorder " cabal"
@@ -51,13 +53,33 @@ initialiseRecorder False = do
51
53
unitTests :: TestTree
52
54
unitTests =
53
55
testGroup " Unit Tests"
56
+ [ cabalParserUnitTests,
57
+ codeActionUnitTests
58
+ ]
59
+
60
+ cabalParserUnitTests :: TestTree
61
+ cabalParserUnitTests = testGroup " Parsing Cabal"
54
62
[ testCase " Simple Parsing works" $ do
55
63
(warnings, pm) <- Lib. parseCabalFileContents =<< BS. readFile (testDataDir </> " simple.cabal" )
56
64
liftIO $ do
57
65
null warnings @? " Found unexpected warnings"
58
66
isRight pm @? " Failed to parse GenericPackageDescription"
59
67
]
60
68
69
+ codeActionUnitTests :: TestTree
70
+ codeActionUnitTests = testGroup " Code Action Tests"
71
+ [ testCase " Unknown format" $ do
72
+ -- the message has the wrong format
73
+ licenseErrorSuggestion " Unknown license identifier: 'BSD3' Do you mean BSD-3-Clause?" @?= Nothing ,
74
+
75
+ testCase " BSD-3-Clause" $ do
76
+ licenseErrorSuggestion " Unknown SPDX license identifier: 'BSD3' Do you mean BSD-3-Clause?" @?= Just (" BSD3" , " BSD-3-Clause" ),
77
+
78
+ testCase " MIT" $ do
79
+ -- contains no suggestion
80
+ licenseErrorSuggestion " Unknown SPDX license identifier: 'MIT3'" @?= Nothing
81
+ ]
82
+
61
83
-- ------------------------------------------------------------------------
62
84
-- Integration Tests
63
85
-- ------------------------------------------------------------------------
0 commit comments