Skip to content
Snippets Groups Projects
Main.hs 1.96 KiB
Newer Older
import Control.Monad (when)
import StackTest

main :: IO ()
main = do
  stackCheckStdout ["ls", "dependencies", "--tree"] $ \stdOut -> do
    let expected = unlines [ "Packages"
                           , "└─┬ files mkVersion [0,1,0,0]"
                           , "  ├─┬ base mkVersion [4,10,1,0]"
                           , "  │ ├─┬ ghc-prim mkVersion [0,5,1,1]"
                           , "  │ │ └── rts mkVersion [1,0]"
                           , "  │ ├─┬ integer-gmp mkVersion [1,0,1,0]"
                           , "  │ │ └─┬ ghc-prim mkVersion [0,5,1,1]"
                           , "  │ │   └── rts mkVersion [1,0]"
                           , "  │ └── rts mkVersion [1,0]"
                           , "  └─┬ mtl mkVersion [2,2,2]"
                           , "    ├─┬ base mkVersion [4,10,1,0]"
                           , "    │ ├─┬ ghc-prim mkVersion [0,5,1,1]"
                           , "    │ │ └── rts mkVersion [1,0]"
                           , "    │ ├─┬ integer-gmp mkVersion [1,0,1,0]"
                           , "    │ │ └─┬ ghc-prim mkVersion [0,5,1,1]"
                           , "    │ │   └── rts mkVersion [1,0]"
                           , "    │ └── rts mkVersion [1,0]"
                           , "    └── transformers mkVersion [0,5,2,0]"
                           ]
    when (stdOut /= expected) $
      error $ unlines [ "Expected:", expected, "Actual:", stdOut ]

  stackCheckStdout ["ls", "dependencies", "--tree", "--depth=1"] $ \stdOut -> do
    let expected = unlines [ "Packages"
                           , "└─┬ files mkVersion [0,1,0,0]"
                           , "  ├── base mkVersion [4,10,1,0]"
                           , "  └── mtl mkVersion [2,2,2]"
                           ]
    when (stdOut /= expected) $
      error $ unlines [ "Expected:", expected, "Actual:", stdOut ]