Skip to content

Commit d8dd18d

Browse files
committed
Move splitCaseCmd tests back to GhcMod
1 parent 7f9030c commit d8dd18d

File tree

3 files changed

+40
-37
lines changed

3 files changed

+40
-37
lines changed

test/unit/GhcModPluginSpec.hs

Lines changed: 39 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,19 @@
33
module GhcModPluginSpec where
44

55
import Control.Exception
6+
import qualified Data.HashMap.Strict as H
67
import qualified Data.Map as Map
78
#if __GLASGOW_HASKELL__ < 804
89
import Data.Monoid
910
#endif
1011
import qualified Data.Set as S
1112
import qualified Data.Text as T
1213
import Haskell.Ide.Engine.MonadTypes
14+
import Haskell.Ide.Engine.Plugin.GhcMod
15+
import Haskell.Ide.Engine.Plugin.HieExtras
1316
import Haskell.Ide.Engine.PluginDescriptor
1417
import Haskell.Ide.Engine.PluginUtils
15-
import Haskell.Ide.Engine.Plugin.GhcMod
18+
import Language.Haskell.LSP.Types (TextEdit (..))
1619
import System.Directory
1720
import TestUtils
1821

@@ -112,3 +115,38 @@ ghcmodSpec =
112115
,(Range (toPos (5,1)) (toPos (5,14)), "Int -> Int")
113116
]
114117
testCommand testPlugins act "ghcmod" "type"dummyVfs arg res
118+
119+
-- ---------------------------------
120+
121+
it "runs the casesplit command" $ cdAndDo "./test/testdata" $ do
122+
fp <- makeAbsolute "GhcModCaseSplit.hs"
123+
let uri = filePathToUri fp
124+
act = do
125+
_ <- setTypecheckedModule uri
126+
splitCaseCmd' uri (toPos (5,5))
127+
arg = HP uri (toPos (5,5))
128+
res = IdeResultOk $ WorkspaceEdit
129+
(Just $ H.singleton uri
130+
$ List [TextEdit (Range (Position 4 0) (Position 4 10))
131+
"foo Nothing = ()\nfoo (Just x) = ()"])
132+
Nothing
133+
testCommand testPlugins act "ghcmod" "casesplit" dummyVfs arg res
134+
135+
it "runs the casesplit command with an absolute path from another folder, correct params" $ do
136+
fp <- makeAbsolute "./test/testdata/GhcModCaseSplit.hs"
137+
cd <- getCurrentDirectory
138+
cd2 <- getHomeDirectory
139+
bracket (setCurrentDirectory cd2)
140+
(\_-> setCurrentDirectory cd)
141+
$ \_-> do
142+
let uri = filePathToUri fp
143+
act = do
144+
_ <- setTypecheckedModule uri
145+
splitCaseCmd' uri (toPos (5,5))
146+
arg = HP uri (toPos (5,5))
147+
res = IdeResultOk $ WorkspaceEdit
148+
(Just $ H.singleton uri
149+
$ List [TextEdit (Range (Position 4 0) (Position 4 10))
150+
"foo Nothing = ()\nfoo (Just x) = ()"])
151+
Nothing
152+
testCommand testPlugins act "ghcmod" "casesplit" dummyVfs arg res

test/unit/HaRePluginSpec.hs

Lines changed: 0 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
66
module HaRePluginSpec where
77

8-
import Control.Exception
98
import Control.Monad.Trans.Free
109
import Control.Monad.IO.Class
1110
import Data.Aeson
@@ -174,41 +173,6 @@ hareSpec = do
174173

175174
-- ---------------------------------
176175

177-
it "runs the casesplit command" $ cdAndDo "./test/testdata" $ do
178-
fp <- makeAbsolute "GhcModCaseSplit.hs"
179-
let uri = filePathToUri fp
180-
act = do
181-
_ <- setTypecheckedModule uri
182-
splitCaseCmd' uri (toPos (5,5))
183-
arg = HP uri (toPos (5,5))
184-
res = IdeResultOk $ WorkspaceEdit
185-
(Just $ H.singleton uri
186-
$ List [TextEdit (Range (Position 4 0) (Position 4 10))
187-
"foo Nothing = ()\nfoo (Just x) = ()"])
188-
Nothing
189-
testCommand testPlugins act "hare" "casesplit" dummyVfs arg res
190-
191-
it "runs the casesplit command with an absolute path from another folder, correct params" $ do
192-
fp <- makeAbsolute "./test/testdata/GhcModCaseSplit.hs"
193-
cd <- getCurrentDirectory
194-
cd2 <- getHomeDirectory
195-
bracket (setCurrentDirectory cd2)
196-
(\_-> setCurrentDirectory cd)
197-
$ \_-> do
198-
let uri = filePathToUri fp
199-
act = do
200-
_ <- setTypecheckedModule uri
201-
splitCaseCmd' uri (toPos (5,5))
202-
arg = HP uri (toPos (5,5))
203-
res = IdeResultOk $ WorkspaceEdit
204-
(Just $ H.singleton uri
205-
$ List [TextEdit (Range (Position 4 0) (Position 4 10))
206-
"foo Nothing = ()\nfoo (Just x) = ()"])
207-
Nothing
208-
testCommand testPlugins act "hare" "casesplit" dummyVfs arg res
209-
210-
-- ---------------------------------
211-
212176
describe "Additional GHC API commands" $ do
213177
cwd <- runIO getCurrentDirectory
214178

test/unit/JsonSpec.hs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import Haskell.Ide.Engine.MonadTypes
1010
import Haskell.Ide.Engine.Plugin.ApplyRefact
1111
import Haskell.Ide.Engine.Plugin.GhcMod
1212
import Haskell.Ide.Engine.Plugin.HaRe
13+
import Haskell.Ide.Engine.Plugin.HieExtras
1314
import Haskell.Ide.Engine.LSP.Config
1415

1516
import Data.Aeson

0 commit comments

Comments
 (0)