1
2module Test.Live(main) where
3
4import Development.Shake
5import Test.Type
6
7
8main = testBuild test $ do
9    "foo" %> \ out -> do
10        need ["bar"]
11        writeFile' out ""
12
13    "bar" %> \out -> writeFile' out ""
14    "baz" %> \out -> writeFile' out ""
15
16
17test build = do
18    build ["clean"]
19    build ["foo","baz","--live=live.txt"]
20    assertContentsUnordered "live.txt" $ words "foo bar baz"
21    build ["foo","baz","--live=live.txt"]
22    assertContentsUnordered "live.txt" $ words "foo bar baz"
23    build ["foo","--live=live.txt"]
24    assertContentsUnordered "live.txt" $ words "foo bar"
25    build ["bar","--live=live.txt"]
26    assertContentsUnordered "live.txt" $ words "bar"
27