@@ -6,15 +6,18 @@ module Progress (tests) where
6
6
import Control.Applicative.Combinators
7
7
import Control.Lens hiding ((.=) )
8
8
import Control.Monad.IO.Class
9
+ import Data.Default
10
+ import Ide.Plugin.Config
9
11
import Language.Haskell.LSP.Test
10
12
import Language.Haskell.LSP.Types
11
13
import qualified Language.Haskell.LSP.Types.Lens as L
12
14
import Language.Haskell.LSP.Types.Capabilities
13
15
import Test.Hls.Util
14
16
import Test.Tasty
17
+ import Test.Tasty.ExpectedFailure (ignoreTestBecause )
15
18
import Test.Tasty.HUnit
16
19
import Data.Text (Text )
17
- import Data.Aeson (encode , decode , object , Value , (.=) )
20
+ import Data.Aeson (encode , decode , object , toJSON , Value , (.=) )
18
21
import Data.Maybe (fromJust )
19
22
import Data.List (delete )
20
23
@@ -46,6 +49,14 @@ tests = testGroup "window/workDoneProgress" [
46
49
expectProgressReports [" Setting up testdata (for Format.hs)" , " Processing" ]
47
50
_ <- sendRequest TextDocumentFormatting $ DocumentFormattingParams doc (FormattingOptions 2 True ) Nothing
48
51
expectProgressReports [" Formatting Format.hs" ]
52
+ , ignoreTestBecause " no liquid Haskell support" $
53
+ testCase " liquid haskell plugin sends progress notifications" $ do
54
+ runSession hlsCommand progressCaps " test/testdata" $ do
55
+ doc <- openDoc " liquid/Evens.hs" " haskell"
56
+ let config = def { liquidOn = True , hlintOn = False }
57
+ sendNotification WorkspaceDidChangeConfiguration (DidChangeConfigurationParams (toJSON config))
58
+ sendNotification TextDocumentDidSave (DidSaveTextDocumentParams doc)
59
+ expectProgressReports [" Running Liquid Haskell on Evens.hs" ]
49
60
]
50
61
51
62
formatLspConfig :: Value -> Value
0 commit comments