2 test_description='"notmuch search" --offset and --limit parameters'
3 . $(dirname "$0")/test-lib.sh || exit 1
7 for outp in messages threads; do
8 test_begin_subtest "${outp}: limit does the right thing"
9 notmuch search --output=${outp} "*" | head -n 20 >expected
10 notmuch search --output=${outp} --limit=20 "*" >output
11 test_expect_equal_file expected output
13 test_begin_subtest "${outp}: concatenation of limited searches"
14 notmuch search --output=${outp} "*" | head -n 20 >expected
15 notmuch search --output=${outp} --limit=10 "*" >output
16 notmuch search --output=${outp} --limit=10 --offset=10 "*" >>output
17 test_expect_equal_file expected output
19 test_begin_subtest "${outp}: limit larger than result set"
20 N=`notmuch count --output=${outp} "*"`
21 notmuch search --output=${outp} "*" >expected
22 notmuch search --output=${outp} --limit=$((1 + ${N})) "*" >output
23 test_expect_equal_file expected output
25 test_begin_subtest "${outp}: limit = 0"
26 test_expect_equal "`notmuch search --output=${outp} --limit=0 "*"`" ""
28 test_begin_subtest "${outp}: offset does the right thing"
29 # note: tail -n +N is 1-based
30 notmuch search --output=${outp} "*" | tail -n +21 >expected
31 notmuch search --output=${outp} --offset=20 "*" >output
32 test_expect_equal_file expected output
34 test_begin_subtest "${outp}: offset = 0"
35 notmuch search --output=${outp} "*" >expected
36 notmuch search --output=${outp} --offset=0 "*" >output
37 test_expect_equal_file expected output
39 test_begin_subtest "${outp}: negative offset"
40 notmuch search --output=${outp} "*" | tail -n 20 >expected
41 notmuch search --output=${outp} --offset=-20 "*" >output
42 test_expect_equal_file expected output
44 test_begin_subtest "${outp}: negative offset"
45 notmuch search --output=${outp} "*" | tail -n 1 >expected
46 notmuch search --output=${outp} --offset=-1 "*" >output
47 test_expect_equal_file expected output
49 test_begin_subtest "${outp}: negative offset combined with limit"
50 notmuch search --output=${outp} "*" | tail -n 20 | head -n 10 >expected
51 notmuch search --output=${outp} --offset=-20 --limit=10 "*" >output
52 test_expect_equal_file expected output
54 test_begin_subtest "${outp}: negative offset combined with equal limit"
55 notmuch search --output=${outp} "*" | tail -n 20 >expected
56 notmuch search --output=${outp} --offset=-20 --limit=20 "*" >output
57 test_expect_equal_file expected output
59 test_begin_subtest "${outp}: negative offset combined with large limit"
60 notmuch search --output=${outp} "*" | tail -n 20 >expected
61 notmuch search --output=${outp} --offset=-20 --limit=50 "*" >output
62 test_expect_equal_file expected output
64 test_begin_subtest "${outp}: negative offset larger then results"
65 N=`notmuch count --output=${outp} "*"`
66 notmuch search --output=${outp} "*" >expected
67 notmuch search --output=${outp} --offset=-$((1 + ${N})) "*" >output
68 test_expect_equal_file expected output