Current non-working version of file parsing
[lsp-test.git] / test / Test.hs
1 import Test.Hspec
2 import System.IO
3 import System.Directory
4 import Control.Lens
5 import Language.Haskell.LSP.Test.Recorded
6 -- import Language.Haskell.LSP.Test.Parsing
7 -- import Language.Haskell.LSP.Test.Files
8 import qualified Language.Haskell.LSP.TH.DataTypesJSON as LSP
9
10 main = hspec $ do
11   describe "Replay" $ do
12     it "passes a test" $
13       replay "test/recordings/renamePass/client.log"
14              "test/recordings/renamePass/server.log"
15              "test/recordings/renamePass"
16         `shouldReturn` True
17     it "fails a test" $
18       replay "test/recordings/documentSymbolFail/client.log"
19              "test/recordings/documentSymbolFail/server.log" 
20              "test/recordings/documentSymbolFail"
21         `shouldReturn` False
22
23   -- describe "file swapping" $ do
24   --   it "gets the base directory" $ do
25   --     h <- openFile "test/recordings/renamePass/client.log" ReadMode
26   --     msgs <- getAllMessages h
27   --     rootDir msgs `shouldBe` "/Users/luke/Desktop"
28   
29     -- it "gets builds a mapping of files" $ do
30     --   h <- openFile "test/recordings/renamePass/client.log" ReadMode
31     --   msgs <- getAllMessages h
32     --   let root = rootDir msgs
33     --   swapped <- swapFiles root "test/recordings/renamePass/" msgs
34     --   let (Just n) = decode (swapped !! 3) :: Maybe LSP.DidOpenNotification
35
36     --   cd <- getCurrentDirectory
37
38     --   n .^ params . uri `shouldBe` LSP.uriFromFilePath (cd </> "test/recordings/renamePass/")