diff options
author | Jani Nikula <jani@nikula.org> | 2011-11-15 22:08:53 +0200 |
---|---|---|
committer | David Bremner <bremner@debian.org> | 2011-11-15 19:25:58 -0400 |
commit | 8a4d631d7c9bd3775ae91fe577498d580c918c0a (patch) | |
tree | e6ef606cbe2202073717a209c2bf57347a0f9823 /test | |
parent | 28d78c2b02ade16d5e5b8a0bc021acb5158ba777 (diff) |
test: add tests for notmuch search --offset and --limit
Signed-off-by: Jani Nikula <jani@nikula.org>
Diffstat (limited to 'test')
-rwxr-xr-x | test/notmuch-test | 1 | ||||
-rwxr-xr-x | test/search-limiting | 71 |
2 files changed, 72 insertions, 0 deletions
diff --git a/test/notmuch-test b/test/notmuch-test index 29de30d7..adfd589f 100755 --- a/test/notmuch-test +++ b/test/notmuch-test @@ -25,6 +25,7 @@ TESTS=" search-by-folder search-position-overlap-bug search-insufficient-from-quoting + search-limiting tagging json multipart diff --git a/test/search-limiting b/test/search-limiting new file mode 100755 index 00000000..303762cf --- /dev/null +++ b/test/search-limiting @@ -0,0 +1,71 @@ +#!/usr/bin/env bash +test_description='"notmuch search" --offset and --limit parameters' +. ./test-lib.sh + +add_email_corpus + +for outp in messages threads; do + test_begin_subtest "${outp}: limit does the right thing" + notmuch search --output=${outp} "*" | head -n 20 >expected + notmuch search --output=${outp} --limit=20 "*" >output + test_expect_equal_file expected output + + test_begin_subtest "${outp}: concatenation of limited searches" + notmuch search --output=${outp} "*" | head -n 20 >expected + notmuch search --output=${outp} --limit=10 "*" >output + notmuch search --output=${outp} --limit=10 --offset=10 "*" >>output + test_expect_equal_file expected output + + test_begin_subtest "${outp}: limit larger than result set" + N=`notmuch count --output=${outp} "*"` + notmuch search --output=${outp} "*" >expected + notmuch search --output=${outp} --limit=$((1 + ${N})) "*" >output + test_expect_equal_file expected output + + test_begin_subtest "${outp}: limit = 0" + test_expect_equal "`notmuch search --output=${outp} --limit=0 "*"`" "" + + test_begin_subtest "${outp}: offset does the right thing" + # note: tail -n +N is 1-based + notmuch search --output=${outp} "*" | tail -n +21 >expected + notmuch search --output=${outp} --offset=20 "*" >output + test_expect_equal_file expected output + + test_begin_subtest "${outp}: offset = 0" + notmuch search --output=${outp} "*" >expected + notmuch search --output=${outp} --offset=0 "*" >output + test_expect_equal_file expected output + + test_begin_subtest "${outp}: negative offset" + notmuch search --output=${outp} "*" | tail -n 20 >expected + notmuch search --output=${outp} --offset=-20 "*" >output + test_expect_equal_file expected output + + test_begin_subtest "${outp}: negative offset" + notmuch search --output=${outp} "*" | tail -n 1 >expected + notmuch search --output=${outp} --offset=-1 "*" >output + test_expect_equal_file expected output + + test_begin_subtest "${outp}: negative offset combined with limit" + notmuch search --output=${outp} "*" | tail -n 20 | head -n 10 >expected + notmuch search --output=${outp} --offset=-20 --limit=10 "*" >output + test_expect_equal_file expected output + + test_begin_subtest "${outp}: negative offset combined with equal limit" + notmuch search --output=${outp} "*" | tail -n 20 >expected + notmuch search --output=${outp} --offset=-20 --limit=20 "*" >output + test_expect_equal_file expected output + + test_begin_subtest "${outp}: negative offset combined with large limit" + notmuch search --output=${outp} "*" | tail -n 20 >expected + notmuch search --output=${outp} --offset=-20 --limit=50 "*" >output + test_expect_equal_file expected output + + test_begin_subtest "${outp}: negative offset larger then results" + N=`notmuch count --output=${outp} "*"` + notmuch search --output=${outp} "*" >expected + notmuch search --output=${outp} --offset=-$((1 + ${N})) "*" >output + test_expect_equal_file expected output +done + +test_done |