stgit.el: Break out stgit-sort-patches to a separate function for future reuse
[stgit] / t / t1601-delete-many.sh
1 #!/bin/sh
2 # Copyright (c) 2006 Karl Hasselström
3 test_description='Test the delete command (deleting many patches at once).'
4 . ./test-lib.sh
5
6 test_expect_success \
7 'Initialize the StGIT repository' \
8 'stg init'
9
10 test_expect_success \
11 'Create five applied and five unapplied patches' \
12 '
13 stg new p0 -m p0 &&
14 echo p0 > foo.txt &&
15 git add foo.txt &&
16 stg refresh &&
17 for i in 1 2 3 4 5 6 7 8 9; do
18 stg new p$i -m p$i &&
19 echo p$i >> foo.txt &&
20 stg refresh;
21 done &&
22 stg pop -n 5
23 '
24
25 test_expect_success \
26 'Delete some patches' \
27 '
28 [ "$(echo $(stg series --applied --noprefix))" = "p0 p1 p2 p3 p4" ] &&
29 [ "$(echo $(stg series --unapplied --noprefix))" = "p5 p6 p7 p8 p9" ] &&
30 stg delete p7 p6 p3 p4 &&
31 [ "$(echo $(stg series --applied --noprefix))" = "p0 p1 p2" ] &&
32 [ "$(echo $(stg series --unapplied --noprefix))" = "p5 p8 p9" ]
33 '
34
35 test_expect_success \
36 'Delete some more patches, some of which do not exist' \
37 '
38 [ "$(echo $(stg series --applied --noprefix))" = "p0 p1 p2" ] &&
39 [ "$(echo $(stg series --unapplied --noprefix))" = "p5 p8 p9" ] &&
40 command_error stg delete p7 p8 p2 p0 &&
41 [ "$(echo $(stg series --applied --noprefix))" = "p0 p1 p2" ] &&
42 [ "$(echo $(stg series --unapplied --noprefix))" = "p5 p8 p9" ]
43 '
44
45 test_expect_success \
46 'Delete a range of patches' \
47 '
48 [ "$(echo $(stg series --applied --noprefix))" = "p0 p1 p2" ] &&
49 [ "$(echo $(stg series --unapplied --noprefix))" = "p5 p8 p9" ] &&
50 stg delete p1..p8 &&
51 [ "$(echo $(stg series --applied --noprefix))" = "p0" ] &&
52 [ "$(echo $(stg series --unapplied --noprefix))" = "p9" ]
53 '
54
55 test_done