ghcide-2.1.0.0: test/exe/SymlinkTests.hs
module SymlinkTests (tests) where
import Control.Monad.IO.Class (liftIO)
import Development.IDE.Test (expectDiagnosticsWithTags)
import Language.LSP.Protocol.Types hiding (SemanticTokenAbsolute (..),
SemanticTokenRelative (..),
SemanticTokensEdit (..), mkRange)
import Language.LSP.Test
import System.Directory
import System.FilePath
import Test.Tasty
import Test.Tasty.HUnit
import TestUtils
-- | Tests for projects that use symbolic links one way or another
tests :: TestTree
tests =
testGroup "Projects using Symlinks"
[ testCase "Module is symlinked" $ runWithExtraFiles "symlink" $ \dir -> do
liftIO $ createFileLink (dir </> "some_loc" </> "Sym.hs") (dir </> "other_loc" </> "Sym.hs")
let fooPath = dir </> "src" </> "Foo.hs"
_ <- openDoc fooPath "haskell"
expectDiagnosticsWithTags [("src" </> "Foo.hs", [(DiagnosticSeverity_Warning, (2, 0), "The import of 'Sym' is redundant", Just DiagnosticTag_Unnecessary)])]
pure ()
]