@@ -2,58 +2,57 @@ module MoteRunner (moteCli, moteTCli) where
22
33import Prelude
44
5- import Control.Monad.Eff.Class (class MonadEff , liftEff )
6- import Control.Monad.Eff.Console (CONSOLE , log )
75import Control.MonadPlus (guard )
86import Data.Array as Array
97import Data.Either (Either (..))
108import Data.Maybe (Maybe (..), maybe )
119import Data.Traversable (for_ )
10+ import Effect.Class (class MonadEffect , liftEffect )
11+ import Effect.Console (log )
1212import Mote.Monad (MoteT , Mote )
1313import Mote.Monad as MoteM
1414import Mote.Plan (Plan (..), PlanItem , foldPlan )
1515import Mote.Plan as Plan
1616import MoteRunner.Options (Config , parseConfig )
17- import Node.Process (PROCESS )
1817import Node.Process as Process
1918
2019-- | Accepts a `MoteT` suite of tests, an interpreter and returns a command-line
2120-- | application that supports running individual tests, and inspection of the
2221-- | test plan.
2322moteCli
24- ∷ ∀ void void' test bracket m e
25- . MonadEff ( process ∷ PROCESS , console ∷ CONSOLE | e ) m
23+ ∷ ∀ void void' test bracket m
24+ . MonadEffect m
2625 ⇒ (Plan bracket test → m void )
2726 → Mote bracket test void'
2827 → m Unit
2928moteCli interpret suite = do
3029 config ← getConfig
3130 let plan = filterPlanM config.pattern (MoteM .plan suite)
3231 if config.list
33- then liftEff (for_ (listPlan plan) log)
32+ then liftEffect (for_ (listPlan plan) log)
3433 else void (interpret plan)
3534
3635-- | Like moteCli, but supports effectful construction of the test plan in MonadEff.
3736moteTCli
38- ∷ ∀ bracket test void void' e m
39- . MonadEff ( process ∷ PROCESS , console ∷ CONSOLE | e ) m
37+ ∷ ∀ bracket test void void' m
38+ . MonadEffect m
4039 ⇒ (Plan.Plan bracket test → m void' )
4140 → MoteT bracket test m void
4241 → m Unit
4342moteTCli interpret suite = do
4443 config ← getConfig
4544 plan ← filterPlanM config.pattern <$> MoteM .planT suite
4645 if config.list
47- then liftEff (for_ (listPlan plan) log)
46+ then liftEffect (for_ (listPlan plan) log)
4847 else void (interpret plan)
4948
5049getConfig
51- ∷ ∀ m e
52- . MonadEff ( process ∷ PROCESS , console ∷ CONSOLE | e ) m
50+ ∷ ∀ m
51+ . MonadEffect m
5352 ⇒ m Config
5453getConfig = do
55- liftEff parseConfig >>= case _ of
56- Left err → liftEff do
54+ liftEffect parseConfig >>= case _ of
55+ Left err → liftEffect do
5756 log err
5857 Process .exit 1
5958 Right config →
@@ -66,11 +65,20 @@ listPlan = foldPlan
6665 (\ { label, value } -> map ((label <> " /" ) <> _) (listPlan value))
6766 join
6867
69- filterPlanM ∷ ∀ bracket test . Maybe String → Plan bracket test → Plan bracket test
70- filterPlanM = maybe id filterPlan
68+ filterPlanM
69+ ∷ ∀ bracket test
70+ . Maybe String
71+ → Plan bracket test
72+ → Plan bracket test
73+ filterPlanM = maybe identity filterPlan
7174
72- filterPlan ∷ ∀ bracket test . String → Plan bracket test → Plan bracket test
73- filterPlan pattern (Plan items) = Plan (Array .mapMaybe (shouldKeep pattern) items)
75+ filterPlan
76+ ∷ ∀ bracket test
77+ . String
78+ → Plan bracket test
79+ → Plan bracket test
80+ filterPlan pattern (Plan items) =
81+ Plan (Array .mapMaybe (shouldKeep pattern) items)
7482
7583unPlan ∷ ∀ bracket test . Plan bracket test → Array (PlanItem bracket test )
7684unPlan (Plan p) = p
0 commit comments