@@ -387,6 +387,30 @@ removeImportTests = testGroup "remove import actions"
387387 , "stuffB = 123"
388388 ]
389389 liftIO $ expectedContentAfterAction @=? contentAfterAction
390+ , testSession "qualified redundant" $ do
391+ let contentA = T.unlines
392+ [ "module ModuleA where"
393+ ]
394+ docA <- openDoc' "ModuleA.hs" "haskell" contentA
395+ let contentB = T.unlines
396+ [ "{-# OPTIONS_GHC -Wunused-imports #-}"
397+ , "module ModuleB where"
398+ , "import qualified ModuleA"
399+ , "stuffB = 123"
400+ ]
401+ docB <- openDoc' "ModuleB.hs" "haskell" contentB
402+ _ <- waitForDiagnostics
403+ [CACodeAction action@CodeAction { _title = actionTitle }]
404+ <- getCodeActions docB (Range (Position 2 0) (Position 2 5))
405+ liftIO $ "Remove import" @=? actionTitle
406+ executeCodeAction action
407+ contentAfterAction <- documentContents docB
408+ let expectedContentAfterAction = T.unlines
409+ [ "{-# OPTIONS_GHC -Wunused-imports #-}"
410+ , "module ModuleB where"
411+ , "stuffB = 123"
412+ ]
413+ liftIO $ expectedContentAfterAction @=? contentAfterAction
390414 ]
391415
392416----------------------------------------------------------------------