@@ -5,8 +5,12 @@ module Main where
5import Control.Monad.Trans.State.Strict (runStateT)
5import Control.Monad.Trans.State.Strict (runStateT)
6import Control.Monad (when)
6import Control.Monad (when)
8+import Data.List (sort)
8import System.Exit (exitFailure)
10import System.Exit (exitFailure)
9import System.Console.Haskeline
11import System.Console.Haskeline
12+import System.FilePath ((</>))
13+import System.Directory (getCurrentDirectory)
11import Test.HUnit
15import Test.HUnit
@@ -76,7 +80,7 @@ completionTestData =
76 , ("import Control.Monad.S", ["import Control.Monad.ST"])
80 , ("import Control.Monad.S", ["import Control.Monad.ST"])
77 , ("import qualified Control.Monad.S", ["import qualified Control.Monad.ST"])
81 , ("import qualified Control.Monad.S", ["import qualified Control.Monad.ST"])
78 , ("import Control.Monad.", map ("import Control.Monad." ++)
82 , ("import Control.Monad.", map ("import Control.Monad." ++)
79− ["Eff", "Eff.Unsafe", "ST"])
83+ ["Eff", "ST"])
81 -- a few other import tests
85 -- a few other import tests
82 , ("impor", ["import"])
86 , ("impor", ["import"])
@@ -101,7 +105,6 @@ completionTestData =
103 allModuleNames = [ "Control.Monad.Eff"
107 allModuleNames = [ "Control.Monad.Eff"
104− , "Control.Monad.Eff.Unsafe"
105 , "Control.Monad.ST"
108 , "Control.Monad.ST"
106 , "Data.Function"
109 , "Data.Function"
107 , "Debug.Trace"
110 , "Debug.Trace"
@@ -114,7 +117,7 @@ assertCompletedOk (line, expecteds) = do
114 (unusedR, completions) <- runCM (completion' (reverse line, ""))
117 (unusedR, completions) <- runCM (completion' (reverse line, ""))
115 let unused = reverse unusedR
118 let unused = reverse unusedR
116 let actuals = map ((unused ++) . replacement) completions
119 let actuals = map ((unused ++) . replacement) completions
117− expecteds @=? actuals
120+ sort expecteds @=? sort actuals
119runCM :: CompletionM a -> IO a
122runCM :: CompletionM a -> IO a
120runCM act = do
123runCM act = do
@@ -123,7 +126,8 @@ runCM act = do
124getPSCiState :: IO PSCiState
127getPSCiState :: IO PSCiState
125getPSCiState = do
128getPSCiState = do
129+ cwd <- getCurrentDirectory
126− modulesOrFirstError <- loadAllModules []
130+ modulesOrFirstError <- loadAllModules [ cwd </> "tests" </> "prelude.purs" ]
127 case modulesOrFirstError of
131 case modulesOrFirstError of
128 Left err ->
132 Left err ->
129 print err >> exitFailure
133 print err >> exitFailure