mirror of
https://github.com/haskell/haskell-ide-engine.git
synced 2024-10-26 11:18:42 +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
|
fp <- makeAbsolute codeActionImportList
|
||||||
let uri = filePathToUri fp
|
let uri = filePathToUri fp
|
||||||
let act = importModule (ImportParams uri Simple "Control.Monad")
|
let act = importModule (ImportParams uri Simple "Control.Monad")
|
||||||
|
expectHsImportResult formatterName fp uri e1 act
|
||||||
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"
|
|
||||||
|
|
||||||
it "import-list formats" $ do
|
it "import-list formats" $ do
|
||||||
fp <- makeAbsolute codeActionImportList
|
fp <- makeAbsolute codeActionImportList
|
||||||
let uri = filePathToUri fp
|
let uri = filePathToUri fp
|
||||||
let act = importModule (ImportParams uri (Complex (Import $ Only "when")) "Control.Monad")
|
let act = importModule (ImportParams uri (Complex (Import $ Only "when")) "Control.Monad")
|
||||||
|
expectHsImportResult formatterName fp uri e2 act
|
||||||
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"
|
|
||||||
|
|
||||||
it "import-list type formats" $ do
|
it "import-list type formats" $ do
|
||||||
fp <- makeAbsolute codeActionImportList
|
fp <- makeAbsolute codeActionImportList
|
||||||
let uri = filePathToUri fp
|
let uri = filePathToUri fp
|
||||||
let act = importModule (ImportParams uri (Complex (Import $ Only "Maybe")) "Data.Maybe")
|
let act = importModule (ImportParams uri (Complex (Import $ Only "Maybe")) "Data.Maybe")
|
||||||
|
expectHsImportResult formatterName fp uri e3 act
|
||||||
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"
|
|
||||||
|
|
||||||
it "import-list constructor formats" $ do
|
it "import-list constructor formats" $ do
|
||||||
fp <- makeAbsolute codeActionImportList
|
fp <- makeAbsolute codeActionImportList
|
||||||
let uri = filePathToUri fp
|
let uri = filePathToUri fp
|
||||||
let act = importModule (ImportParams uri (Complex (Import $ AllOf "Maybe")) "Data.Maybe")
|
let act = importModule (ImportParams uri (Complex (Import $ AllOf "Maybe")) "Data.Maybe")
|
||||||
|
expectHsImportResult formatterName fp uri e4 act
|
||||||
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"
|
|
||||||
|
|
||||||
it "import-list constructor formats" $ do
|
it "import-list constructor formats" $ do
|
||||||
fp <- makeAbsolute codeActionImportList
|
fp <- makeAbsolute codeActionImportList
|
||||||
let uri = filePathToUri fp
|
let uri = filePathToUri fp
|
||||||
let act = importModule (ImportParams uri (Complex (Import $ OneOf "Maybe" "Nothing")) "Data.Maybe")
|
let act = importModule (ImportParams uri (Complex (Import $ OneOf "Maybe" "Nothing")) "Data.Maybe")
|
||||||
|
expectHsImportResult formatterName fp uri e5 act
|
||||||
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"
|
|
||||||
|
|
||||||
it "import-list infix function formats" $ do
|
it "import-list infix function formats" $ do
|
||||||
fp <- makeAbsolute codeActionImportList
|
fp <- makeAbsolute codeActionImportList
|
||||||
let uri = filePathToUri fp
|
let uri = filePathToUri fp
|
||||||
let act = importModule (ImportParams uri (Complex (Import $ Only "$")) "Data.Function")
|
let act = importModule (ImportParams uri (Complex (Import $ Only "$")) "Data.Function")
|
||||||
|
expectHsImportResult formatterName fp uri e6 act
|
||||||
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"
|
|
||||||
|
|
||||||
it "import-list with existing entry formats" $ do
|
it "import-list with existing entry formats" $ do
|
||||||
fp <- makeAbsolute codeActionBigImportList
|
fp <- makeAbsolute codeActionBigImportList
|
||||||
let uri = filePathToUri fp
|
let uri = filePathToUri fp
|
||||||
let act = importModule (ImportParams uri (Complex (Import $ Only "hPutStrLn")) "System.IO")
|
let act = importModule (ImportParams uri (Complex (Import $ Only "hPutStrLn")) "System.IO")
|
||||||
|
expectHsImportResult formatterName fp uri e7 act
|
||||||
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"
|
|
||||||
|
|
||||||
it "import-list with forced overflow formats" $ do
|
it "import-list with forced overflow formats" $ do
|
||||||
fp <- makeAbsolute codeActionBigImportList
|
fp <- makeAbsolute codeActionBigImportList
|
||||||
let uri = filePathToUri fp
|
let uri = filePathToUri fp
|
||||||
let act = importModule (ImportParams uri (Complex (Import $ Only "reverse")) "Data.List")
|
let act = importModule (ImportParams uri (Complex (Import $ Only "reverse")) "Data.List")
|
||||||
|
expectHsImportResult formatterName fp uri e8 act
|
||||||
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"
|
|
||||||
|
|
||||||
|
|
||||||
-- Silence warnings
|
-- Silence warnings
|
||||||
@ -221,4 +189,11 @@ hsImportSpecRunner formatter args =
|
|||||||
++ show (length args)
|
++ show (length args)
|
||||||
|
|
||||||
setFormatter :: T.Text -> Config.Config -> Config.Config
|
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