mirror of
https://github.com/haskell/haskell-ide-engine.git
synced 2024-09-11 11:05:30 +03:00
Re-use function for same functionality
This commit is contained in:
parent
55ccdd3ddb
commit
86ccb3d9e3
@ -136,81 +136,49 @@ hsImportSpecRunner formatterName [e1, e2, e3, e4, e5, e6, e7, e8] = do
|
||||
fp <- makeAbsolute codeActionImportList
|
||||
let uri = filePathToUri fp
|
||||
let act = importModule (ImportParams uri Simple "Control.Monad")
|
||||
|
||||
IdeResultOk (WorkspaceEdit (Just changes) _) <- runSingle' (setFormatter formatterName) testPlugins fp act
|
||||
case Map.lookup uri changes of
|
||||
Just (List val) -> val `shouldBe` e1
|
||||
Nothing -> fail "No Change found"
|
||||
expectHsImportResult formatterName fp uri e1 act
|
||||
|
||||
it "import-list formats" $ do
|
||||
fp <- makeAbsolute codeActionImportList
|
||||
let uri = filePathToUri fp
|
||||
let act = importModule (ImportParams uri (Complex (Import $ Only "when")) "Control.Monad")
|
||||
|
||||
IdeResultOk (WorkspaceEdit (Just changes) _) <- runSingle' (setFormatter formatterName) testPlugins fp act
|
||||
case Map.lookup uri changes of
|
||||
Just (List val) -> val `shouldBe` e2
|
||||
Nothing -> fail "No Change found"
|
||||
expectHsImportResult formatterName fp uri e2 act
|
||||
|
||||
it "import-list type formats" $ do
|
||||
fp <- makeAbsolute codeActionImportList
|
||||
let uri = filePathToUri fp
|
||||
let act = importModule (ImportParams uri (Complex (Import $ Only "Maybe")) "Data.Maybe")
|
||||
|
||||
IdeResultOk (WorkspaceEdit (Just changes) _) <- runSingle' (setFormatter formatterName) testPlugins fp act
|
||||
case Map.lookup uri changes of
|
||||
Just (List val) -> val `shouldBe` e3
|
||||
Nothing -> fail "No Change found"
|
||||
expectHsImportResult formatterName fp uri e3 act
|
||||
|
||||
it "import-list constructor formats" $ do
|
||||
fp <- makeAbsolute codeActionImportList
|
||||
let uri = filePathToUri fp
|
||||
let act = importModule (ImportParams uri (Complex (Import $ AllOf "Maybe")) "Data.Maybe")
|
||||
|
||||
IdeResultOk (WorkspaceEdit (Just changes) _) <- runSingle' (setFormatter formatterName) testPlugins fp act
|
||||
case Map.lookup uri changes of
|
||||
Just (List val) -> val `shouldBe` e4
|
||||
Nothing -> fail "No Change found"
|
||||
expectHsImportResult formatterName fp uri e4 act
|
||||
|
||||
it "import-list constructor formats" $ do
|
||||
fp <- makeAbsolute codeActionImportList
|
||||
let uri = filePathToUri fp
|
||||
let act = importModule (ImportParams uri (Complex (Import $ OneOf "Maybe" "Nothing")) "Data.Maybe")
|
||||
|
||||
IdeResultOk (WorkspaceEdit (Just changes) _) <- runSingle' (setFormatter formatterName) testPlugins fp act
|
||||
case Map.lookup uri changes of
|
||||
Just (List val) -> val `shouldBe` e5
|
||||
Nothing -> fail "No Change found"
|
||||
expectHsImportResult formatterName fp uri e5 act
|
||||
|
||||
it "import-list infix function formats" $ do
|
||||
fp <- makeAbsolute codeActionImportList
|
||||
let uri = filePathToUri fp
|
||||
let act = importModule (ImportParams uri (Complex (Import $ Only "$")) "Data.Function")
|
||||
|
||||
IdeResultOk (WorkspaceEdit (Just changes) _) <- runSingle' (setFormatter formatterName) testPlugins fp act
|
||||
case Map.lookup uri changes of
|
||||
Just (List val) -> val `shouldBe` e6
|
||||
Nothing -> fail "No Change found"
|
||||
expectHsImportResult formatterName fp uri e6 act
|
||||
|
||||
it "import-list with existing entry formats" $ do
|
||||
fp <- makeAbsolute codeActionBigImportList
|
||||
let uri = filePathToUri fp
|
||||
let act = importModule (ImportParams uri (Complex (Import $ Only "hPutStrLn")) "System.IO")
|
||||
|
||||
IdeResultOk (WorkspaceEdit (Just changes) _) <- runSingle' (setFormatter formatterName) testPlugins fp act
|
||||
case Map.lookup uri changes of
|
||||
Just (List val) -> val `shouldBe` e7
|
||||
Nothing -> fail "No Change found"
|
||||
expectHsImportResult formatterName fp uri e7 act
|
||||
|
||||
it "import-list with forced overflow formats" $ do
|
||||
fp <- makeAbsolute codeActionBigImportList
|
||||
let uri = filePathToUri fp
|
||||
let act = importModule (ImportParams uri (Complex (Import $ Only "reverse")) "Data.List")
|
||||
|
||||
IdeResultOk (WorkspaceEdit (Just changes) _) <- runSingle' (setFormatter formatterName) testPlugins fp act
|
||||
case Map.lookup uri changes of
|
||||
Just (List val) -> val `shouldBe` e8
|
||||
Nothing -> fail "No Change found"
|
||||
expectHsImportResult formatterName fp uri e8 act
|
||||
|
||||
|
||||
-- Silence warnings
|
||||
@ -221,4 +189,11 @@ hsImportSpecRunner formatter args =
|
||||
++ show (length args)
|
||||
|
||||
setFormatter :: T.Text -> Config.Config -> Config.Config
|
||||
setFormatter formatterName cfg = cfg { Config.formattingProvider = formatterName }
|
||||
setFormatter formatterName cfg = cfg { Config.formattingProvider = formatterName }
|
||||
|
||||
expectHsImportResult :: T.Text -> FilePath -> Uri -> [TextEdit] -> IdeGhcM (IdeResult WorkspaceEdit) -> IO ()
|
||||
expectHsImportResult formatterName fp uri expectedChanges act = do
|
||||
IdeResultOk (WorkspaceEdit (Just changes) _) <- runSingle' (setFormatter formatterName) testPlugins fp act
|
||||
case Map.lookup uri changes of
|
||||
Just (List val) -> val `shouldBe` expectedChanges
|
||||
Nothing -> fail "No Change found"
|
Loading…
Reference in New Issue
Block a user