Newer
Older
import Control.Monad (when)
import StackTest
main :: IO ()
main = do
stackCheckStdout ["ls", "dependencies", "tree"] $ \stdOut -> do
let expected = unlines [ "Packages"
, "├─┬ files 0.1.0.0"
, "│ ├─┬ base 4.10.1.0"
, "│ │ ├─┬ ghc-prim 0.5.1.1"
, "│ │ │ └── rts 1.0"
, "│ │ ├─┬ integer-gmp 1.0.1.0"
, "│ │ │ └─┬ ghc-prim 0.5.1.1"
, "│ │ │ └── rts 1.0"
, "│ │ └── rts 1.0"
, "│ ├─┬ mtl 2.2.2"
, "│ │ ├─┬ base 4.10.1.0"
, "│ │ │ ├─┬ ghc-prim 0.5.1.1"
, "│ │ │ │ └── rts 1.0"
, "│ │ │ ├─┬ integer-gmp 1.0.1.0"
, "│ │ │ │ └─┬ ghc-prim 0.5.1.1"
, "│ │ │ │ └── rts 1.0"
, "│ │ │ └── rts 1.0"
, "│ │ └─┬ transformers 0.5.2.0"
, "│ │ └─┬ base 4.10.1.0"
, "│ │ ├─┬ ghc-prim 0.5.1.1"
, "│ │ │ └── rts 1.0"
, "│ │ ├─┬ integer-gmp 1.0.1.0"
, "│ │ │ └─┬ ghc-prim 0.5.1.1"
, "│ │ │ └── rts 1.0"
, "│ │ └── rts 1.0"
, "│ └─┬ subproject 0.1.0.0"
, "│ └─┬ base 4.10.1.0"
, "│ ├─┬ ghc-prim 0.5.1.1"
, "│ │ └── rts 1.0"
, "│ ├─┬ integer-gmp 1.0.1.0"
, "│ │ └─┬ ghc-prim 0.5.1.1"
, "│ │ └── rts 1.0"
, "│ └── rts 1.0"
, "└─┬ subproject 0.1.0.0"
, " └─┬ base 4.10.1.0"
, " ├─┬ ghc-prim 0.5.1.1"
, " ├─┬ integer-gmp 1.0.1.0"
, " │ └─┬ ghc-prim 0.5.1.1"
, " │ └── rts 1.0"
, " └── rts 1.0"
]
when (stdOut /= expected) $
error $ unlines [ "Expected:", expected, "Actual:", stdOut ]
stackCheckStdout ["ls", "dependencies", "tree", "--depth=1"] $ \stdOut -> do
let expected = unlines [ "Packages"
, "├─┬ files 0.1.0.0"
, "│ ├── base 4.10.1.0"
, "│ ├── mtl 2.2.2"
, "│ └── subproject 0.1.0.0"
, "└─┬ subproject 0.1.0.0"
, " └── base 4.10.1.0"
]
when (stdOut /= expected) $
error $ unlines [ "Expected:", expected, "Actual:", stdOut ]
stackCheckStdout ["ls", "dependencies", "--tree", "subproject"] $ \stdOut -> do
let expected = unlines [ "Packages"
, "└─┬ subproject 0.1.0.0"
, " └─┬ base 4.10.1.0"
, " ├─┬ ghc-prim 0.5.1.1"
, " │ └── rts 1.0"
, " ├─┬ integer-gmp 1.0.1.0"
, " │ └─┬ ghc-prim 0.5.1.1"
, " │ └── rts 1.0"
, " └── rts 1.0"
]
when (stdOut /= expected) $
error $ unlines [ "Expected:", expected, "Actual:", stdOut ]
stackCheckStdout ["ls", "dependencies", "json"] $ \stdOut -> do
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
let expected = unlines [ "["
, " {"
, " \"name\": \"transformers\","
, " \"version\": \"0.5.2.0\","
, " \"license\": \"BSD3\""
, " },"
, " {"
, " \"name\": \"rts\","
, " \"version\": \"1.0\","
, " \"license\": \"BSD3\""
, " },"
, " {"
, " \"name\": \"mtl\","
, " \"version\": \"2.2.2\","
, " \"license\": \"BSD3\""
, " },"
, " {"
, " \"name\": \"integer-gmp\","
, " \"version\": \"1.0.1.0\","
, " \"license\": \"BSD3\""
, " },"
, " {"
, " \"name\": \"ghc-prim\","
, " \"version\": \"0.5.1.1\","
, " \"license\": \"BSD3\""
, " },"
, " {"
, " \"name\": \"files\","
, " \"version\": \"0.1.0.0\","
, " \"license\": \"AllRightsReserved\""
, " },"
, " {"
, " \"name\": \"base\","
, " \"version\": \"4.10.1.0\","
, " \"license\": \"BSD3\""
, " }"
, "]"
]
when (stdOut /= expected) $
error $ unlines [ "Expected:", expected, "Actual:", stdOut ]