Current non-working version of file parsing
[lsp-test.git] / test / Test.hs
index e24b1e1c75d333f2327ac273bdcf2d7d9d8e127e..3fd14e4c5dc9cbad53ff157cbffd0e8da8aecfae 100644 (file)
@@ -1,7 +1,13 @@
 import Test.Hspec
+import System.IO
+import System.Directory
+import Control.Lens
 import Language.Haskell.LSP.Test.Recorded
+-- import Language.Haskell.LSP.Test.Parsing
+-- import Language.Haskell.LSP.Test.Files
+import qualified Language.Haskell.LSP.TH.DataTypesJSON as LSP
 
-main = hspec $
+main = hspec $ do
   describe "Replay" $ do
     it "passes a test" $
       replay "test/recordings/renamePass/client.log"
@@ -13,3 +19,20 @@ main = hspec $
              "test/recordings/documentSymbolFail/server.log" 
              "test/recordings/documentSymbolFail"
         `shouldReturn` False
+
+  -- describe "file swapping" $ do
+  --   it "gets the base directory" $ do
+  --     h <- openFile "test/recordings/renamePass/client.log" ReadMode
+  --     msgs <- getAllMessages h
+  --     rootDir msgs `shouldBe` "/Users/luke/Desktop"
+  
+    -- it "gets builds a mapping of files" $ do
+    --   h <- openFile "test/recordings/renamePass/client.log" ReadMode
+    --   msgs <- getAllMessages h
+    --   let root = rootDir msgs
+    --   swapped <- swapFiles root "test/recordings/renamePass/" msgs
+    --   let (Just n) = decode (swapped !! 3) :: Maybe LSP.DidOpenNotification
+
+    --   cd <- getCurrentDirectory
+
+    --   n .^ params . uri `shouldBe` LSP.uriFromFilePath (cd </> "test/recordings/renamePass/")