@@ -136,81 +136,49 @@ hsImportSpecRunner formatterName [e1, e2, e3, e4, e5, e6, e7, e8] = do
136136 fp <- makeAbsolute codeActionImportList
137137 let uri = filePathToUri fp
138138 let act = importModule (ImportParams uri Simple " Control.Monad" )
139-
140- IdeResultOk (WorkspaceEdit (Just changes) _) <- runSingle' (setFormatter formatterName) testPlugins fp act
141- case Map. lookup uri changes of
142- Just (List val) -> val `shouldBe` e1
143- Nothing -> fail " No Change found"
139+ expectHsImportResult formatterName fp uri e1 act
144140
145141 it " import-list formats" $ do
146142 fp <- makeAbsolute codeActionImportList
147143 let uri = filePathToUri fp
148144 let act = importModule (ImportParams uri (Complex (Import $ Only " when" )) " Control.Monad" )
149-
150- IdeResultOk (WorkspaceEdit (Just changes) _) <- runSingle' (setFormatter formatterName) testPlugins fp act
151- case Map. lookup uri changes of
152- Just (List val) -> val `shouldBe` e2
153- Nothing -> fail " No Change found"
145+ expectHsImportResult formatterName fp uri e2 act
154146
155147 it " import-list type formats" $ do
156148 fp <- makeAbsolute codeActionImportList
157149 let uri = filePathToUri fp
158150 let act = importModule (ImportParams uri (Complex (Import $ Only " Maybe" )) " Data.Maybe" )
159-
160- IdeResultOk (WorkspaceEdit (Just changes) _) <- runSingle' (setFormatter formatterName) testPlugins fp act
161- case Map. lookup uri changes of
162- Just (List val) -> val `shouldBe` e3
163- Nothing -> fail " No Change found"
151+ expectHsImportResult formatterName fp uri e3 act
164152
165153 it " import-list constructor formats" $ do
166154 fp <- makeAbsolute codeActionImportList
167155 let uri = filePathToUri fp
168156 let act = importModule (ImportParams uri (Complex (Import $ AllOf " Maybe" )) " Data.Maybe" )
169-
170- IdeResultOk (WorkspaceEdit (Just changes) _) <- runSingle' (setFormatter formatterName) testPlugins fp act
171- case Map. lookup uri changes of
172- Just (List val) -> val `shouldBe` e4
173- Nothing -> fail " No Change found"
157+ expectHsImportResult formatterName fp uri e4 act
174158
175159 it " import-list constructor formats" $ do
176160 fp <- makeAbsolute codeActionImportList
177161 let uri = filePathToUri fp
178162 let act = importModule (ImportParams uri (Complex (Import $ OneOf " Maybe" " Nothing" )) " Data.Maybe" )
179-
180- IdeResultOk (WorkspaceEdit (Just changes) _) <- runSingle' (setFormatter formatterName) testPlugins fp act
181- case Map. lookup uri changes of
182- Just (List val) -> val `shouldBe` e5
183- Nothing -> fail " No Change found"
163+ expectHsImportResult formatterName fp uri e5 act
184164
185165 it " import-list infix function formats" $ do
186166 fp <- makeAbsolute codeActionImportList
187167 let uri = filePathToUri fp
188168 let act = importModule (ImportParams uri (Complex (Import $ Only " $" )) " Data.Function" )
189-
190- IdeResultOk (WorkspaceEdit (Just changes) _) <- runSingle' (setFormatter formatterName) testPlugins fp act
191- case Map. lookup uri changes of
192- Just (List val) -> val `shouldBe` e6
193- Nothing -> fail " No Change found"
169+ expectHsImportResult formatterName fp uri e6 act
194170
195171 it " import-list with existing entry formats" $ do
196172 fp <- makeAbsolute codeActionBigImportList
197173 let uri = filePathToUri fp
198174 let act = importModule (ImportParams uri (Complex (Import $ Only " hPutStrLn" )) " System.IO" )
199-
200- IdeResultOk (WorkspaceEdit (Just changes) _) <- runSingle' (setFormatter formatterName) testPlugins fp act
201- case Map. lookup uri changes of
202- Just (List val) -> val `shouldBe` e7
203- Nothing -> fail " No Change found"
175+ expectHsImportResult formatterName fp uri e7 act
204176
205177 it " import-list with forced overflow formats" $ do
206178 fp <- makeAbsolute codeActionBigImportList
207179 let uri = filePathToUri fp
208180 let act = importModule (ImportParams uri (Complex (Import $ Only " reverse" )) " Data.List" )
209-
210- IdeResultOk (WorkspaceEdit (Just changes) _) <- runSingle' (setFormatter formatterName) testPlugins fp act
211- case Map. lookup uri changes of
212- Just (List val) -> val `shouldBe` e8
213- Nothing -> fail " No Change found"
181+ expectHsImportResult formatterName fp uri e8 act
214182
215183
216184-- Silence warnings
@@ -221,4 +189,11 @@ hsImportSpecRunner formatter args =
221189 ++ show (length args)
222190
223191setFormatter :: T. Text -> Config. Config -> Config. Config
224- setFormatter formatterName cfg = cfg { Config. formattingProvider = formatterName }
192+ setFormatter formatterName cfg = cfg { Config. formattingProvider = formatterName }
193+
194+ expectHsImportResult :: T. Text -> FilePath -> Uri -> [TextEdit ] -> IdeGhcM (IdeResult WorkspaceEdit ) -> IO ()
195+ expectHsImportResult formatterName fp uri expectedChanges act = do
196+ IdeResultOk (WorkspaceEdit (Just changes) _) <- runSingle' (setFormatter formatterName) testPlugins fp act
197+ case Map. lookup uri changes of
198+ Just (List val) -> val `shouldBe` expectedChanges
199+ Nothing -> fail " No Change found"
0 commit comments